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