The SERVICE_TYPE_INFO_ABS structure contains information about a network service type. You use a SERVICE_TYPE_INFO_ABS structure to add a network service type to a name space.
typedef struct _SERVICE_TYPE_INFO_ABS { LPTSTR lpTypeName; DWORD dwValueCount; SERVICE_TYPE_VALUE_ABS Values[1]; } SERVICE_TYPE_INFO_ABS
Each of these structures contains information about a service type value that the operating system or network service may need when an instance of this network service type is registered with a name space.
The information in these structures may be specific to a name-space. For example, if a network service uses the SAP name space, but does not have a GUID that contains the SAP identifier (SAPID), it defines the SAPID in a SERVICE_TYPE_VALUE_ABS structure.
When you use the SetService function to add a network service type to a name space, the SERVICE_TYPE_INFO_ABS structure is passed as the ServiceSpecificInfo BLOB member of a SERVICE_INFO structure. Although the ServiceSpecificInfo member generally should not contain pointers, an exception is made in the case of the SERVICE_TYPE_INFO_ABS and SERVICE_TYPE_VALUE_ABS structures.