SERVICE_INFO

The SERVICE_INFO structure contains information about a network service or a network service type.

typedef struct _SERVICE_INFO {

LPGUID lpServiceType;

LPTSTR lpServiceName;

LPTSTR lpComment;

LPTSTR lpLocale;

DWORD dwDisplayHint;

DWORD dwVersion;

DWORD dwTime;

LPTSTR lpMachineName;

LPSERVICE_ADDRESSES lpServiceAddress;

BLOB ServiceSpecificInfo;

} SERVICE_INFO;

Members

lpServiceType

Points to a GUID that is the type of the network service.

lpServiceName

Points to a zero-terminated string that is the name of the network service.

If you are calling the SetService function with the dwNameSpace parameter set to NS_DEFAULT, the network service name must be a common name A common name is what the network service is commonly known as. An example of a common name for a network service is "My SQL Server".

If you are calling the SetService function with the dwNameSpace parameter set to a specific service name, the network service name can be a common name or a distinguished name. A distinguished name distinguishes the service to a unique location with a directory service. An example of a distinguished name for a network service is "MS\\SYS\\NT\\DEV\\My SQL Server".

lpComment

Points to a zero-terminated string that is a comment or description for the network service. For example, "Used for development upgrades."

lpLocale

Points to a zero-terminated string that contains locale information.

dwDisplayHint

Specifies a hint as to how to display the network service in a network browsing user interface. This can be one of the following values:

Value Meaning
RESOURCEDISPLAYTYPE_DOMAIN Display the network service as a domain.
RESOURCEDISPLAYTYPE_FILE Display the network service as a file.
RESOURCEDISPLAYTYPE_GENERIC The method used to display the object does not matter.
RESOURCEDISPLAYTYPE_GROUP Display the network service as a group.
RESOURCEDISPLAYTYPE_SERVER Display the network service as a server.
RESOURCEDISPLAYTYPE_SHARE Display the network service as a sharepoint.
RESOURCEDISPLAYTYPE_TREE Display the network service as a tree.

dwVersion

Specifies version information for the network service. The high word of this value specifies a major version number. The low word of this value specifies a minor version number.

dwTime

This member is reserved for future use. It must be set to zero.

lpMachineName

Points to a zero-terminated string that is the name of the computer on which the network service is running.

lpServiceAddress

Points to a SERVICE_ADDRESSES structure that contains an array of SERVICE_ADDRESS structures. Each SERVICE_ADDRESS structure contains information about a network service address.

A network service can call the getsockname function to determine the local address of the system.

ServiceSpecificInfo

A BLOB structure that specifies service-defined information.

Note that, in general, the data pointed to by the BLOB structure's pBlobData member must not contain any pointers. That is because only the network service knows the format of the data; copying the data without such knowledge would lead to pointer invalidation. If the data pointed to by pBlobData contains variable-sized elements, offsets from pBlobData can be used to indicate the location of those elements. There is one exception to this general rule: when pBlobData points to a SERVICE_TYPE_INFO_ABS structure. This is possible because both the SERVICE_TYPE_INFO_ABS structure, and any SERVICE_TYPE_VALUE_ABS structures it contains are predefined, and thus their formats are known to the operating system.

See Also

BLOB, GetService, NS_SERVICE_INFO, SetService, SERVICE_ADDRESS, SERVICE_ADDRESSES, SERVICE_TYPE_INFO_ABS, SERVICE_TYPE_VALUE_ABS