WSANAMESPACE_INFOEXW structure (winsock2.h)

The WSANAMESPACE_INFOEX structure contains all registration information for a namespace provider.

Syntax

typedef struct _WSANAMESPACE_INFOEXW {
  GUID   NSProviderId;
  DWORD  dwNameSpace;
  BOOL   fActive;
  DWORD  dwVersion;
  LPWSTR lpszIdentifier;
  BLOB   ProviderSpecific;
} WSANAMESPACE_INFOEXW, *PWSANAMESPACE_INFOEXW, *LPWSANAMESPACE_INFOEXW;

Members

NSProviderId

Type: GUID

A unique GUID for this namespace provider.

dwNameSpace

Type: DWORD

The namespace supported by this provider.

Possible values for the dwNameSpace member are listed in the Winsock2.h include file. Several namespace providers are included with Windows Vista and later. Other namespace providers can be installed, so the following possible values are only those commonly available. Many other values are possible.

Value Meaning
NS_BTH
The Bluetooth namespace.

This namespace identifier is supported on Windows Vista and later.

NS_DNS
The domain name system (DNS) namespace.
NS_EMAIL
The email namespace.

This namespace identifier is supported on Windows Vista and later.

NS_NLA
The network location awareness (NLA) namespace.

This namespace identifier is supported on Windows XP and later.

NS_NTDS
The Windows NT directory service (NTDS) namespace.
NS_PNRPNAME
The peer-to-peer name space for a specific peer name.

This namespace identifier is supported on Windows Vista and later.

NS_PNRPCLOUD
The peer-to-peer name space for a collection of peer names.

This namespace identifier is supported on Windows Vista and later.

fActive

Type: BOOL

If TRUE, indicates that this namespace provider is active. If FALSE, the namespace provider is inactive and is not accessible for queries, even if the query specifically references this namespace provider.

dwVersion

Type: DWORD

The version number of the namespace provider.

lpszIdentifier

Type: LPTSTR

A display string that identifies the namespace provider.

ProviderSpecific

Type: BLOB

A provider-specific data blob associated with namespace entry.

Remarks

The WSANAMESPACE_INFOEX structure is an enhanced version of the WSANAMESPACE_INFO structure that is used by the WSAEnumNameSpaceProvidersEx and the WSCEnumNameSpaceProvidersEx32 functions to return information on available namespace providers. The WSANAMESPACE_INFOEX structure contains the provider-specific data blob associated with the namespace entry passed in the lpProviderInfo parameter to the WSCInstallNameSpaceEx and WSCInstallNameSpaceEx32 functions.

Currently, the only namespace included with Windows that uses information in the ProviderSpecific member of the WSANAMESPACE_INFOEX structure are namespace providers for the NS_EMAIL namespace. The format of the ProviderSpecific member for an NS_EMAIL namespace provider is a NAPI_PROVIDER_INSTALLATION_BLOB structure.

When UNICODE or _UNICODE is defined, WSANAMESPACE_INFOEX is defined to WSANAMESPACE_INFOEXW, the Unicode version of this structure and the lpszIdentifier string member is defined to the LPWSTR data type.

When UNICODE or _UNICODE is not defined, WSANAMESPACE_INFOEX is defined to WSANAMESPACE_INFOEXA, the ANSI version of this structure and the lpszIdentifier string member is defined to the LPSTR data type.

The WSCEnumNameSpaceProvidersEx32 function is a Unicode only function and returns WSANAMESPACE_INFOEXW structures.

Note

The winsock2.h header defines WSANAMESPACE_INFOEX as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header winsock2.h

See also

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProvidersEx

WSANAMESPACE_INFO

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx

WSCInstallNameSpaceEx32