Struttura WSAQUERYSETW (winsock2.h)

La struttura WSAQUERYSET fornisce informazioni pertinenti su un determinato servizio, inclusi l'ID della classe del servizio, il nome del servizio, l'identificatore dello spazio dei nomi applicabile e le informazioni sul protocollo, nonché un set di indirizzi di trasporto in cui il servizio è in ascolto.

Sintassi

typedef struct _WSAQuerySetW {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPGUID        lpServiceClassId;
  LPWSAVERSION  lpVersion;
  LPWSTR        lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPWSTR        lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPWSTR        lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;

Members

dwSize

Tipo: DWORD

Dimensione, in byte, della struttura WSAQUERYSET . Questo membro viene usato come meccanismo di controllo delle versioni perché le dimensioni della struttura WSAQUERYSET sono state modificate nelle versioni successive di Windows.

lpszServiceInstanceName

Tipo: LPTSTR

Puntatore a una stringa facoltativa con terminazione NULL contenente il nome del servizio. La semantica per l'uso di caratteri jolly all'interno della stringa non è definita, ma può essere supportata da determinati provider di spazi dei nomi.

lpServiceClassId

Tipo: LPGUID

GUID corrispondente alla classe del servizio. Questo membro deve essere impostato.

lpVersion

Tipo: LPWSAVERSION

Puntatore a un numero di versione desiderato facoltativo del provider dello spazio dei nomi. Questo membro fornisce la semantica di confronto delle versioni, ovvero la versione richiesta deve corrispondere esattamente o la versione non deve essere minore del valore fornito.

lpszComment

Tipo: LPTSTR

Questo membro viene ignorato per le query.

dwNameSpace

Tipo: DWORD

Identificatore dello spazio dei nomi che determina quali provider di spazi dei nomi vengono sottoposti a query. Il passaggio di un identificatore dello spazio dei nomi specifico comporterà solo i provider dello spazio dei nomi che supportano la query dello spazio dei nomi specificato. Se si specifica NS_ALL verrà eseguita una query in tutti i provider di spazi dei nomi installati e attivi.

Le opzioni per il membro dwNameSpace sono elencate nel file di inclusione Winsock2.h . Diversi nuovi provider di spazi dei nomi sono inclusi in Windows Vista e versioni successive. È possibile installare altri provider di spazi dei nomi, pertanto i valori possibili seguenti sono solo quelli comunemente disponibili. Sono possibili molti altri valori.

Valore Significato
NS_ALL
Tutti gli spazi dei nomi installati e attivi.
NS_BTH
Spazio dei nomi Bluetooth. Questo identificatore dello spazio dei nomi è supportato in Windows Vista e versioni successive.
NS_DNS
Spazio dei nomi DNS (Domain Name System).
NS_EMAIL
Spazio dei nomi del messaggio di posta elettronica. Questo identificatore dello spazio dei nomi è supportato in Windows Vista e versioni successive.
NS_NLA
Spazio dei nomi NLA (Network Location Awareness). Questo identificatore dello spazio dei nomi è supportato in Windows XP e versioni successive.
NS_PNRPNAME
Spazio dei nomi peer-to-peer per un nome peer specifico. Questo identificatore dello spazio dei nomi è supportato in Windows Vista e versioni successive.
NS_PNRPCLOUD
Spazio dei nomi peer-to-peer per una raccolta di nomi peer. Questo identificatore dello spazio dei nomi è supportato in Windows Vista e versioni successive.

lpNSProviderId

Tipo: LPGUID

Puntatore a un GUID facoltativo di un provider di spazi dei nomi specifico per eseguire una query nel caso in cui più provider di spazi dei nomi siano registrati in un singolo spazio dei nomi, ad esempio NS_DNS. Se si passa il GUID per un provider di spazi dei nomi specifico, verrà eseguita una query solo sul provider di spazi dei nomi specificato. Le funzioni WSAEnumNameSpaceProviders e WSAEnumNameSpaceProvidersEx possono essere chiamate per recuperare il GUID per un provider di spazi dei nomi.

lpszContext

Tipo: LPTSTR

Puntatore a un punto di partenza facoltativo della query in uno spazio dei nomi gerarchico.

dwNumberOfProtocols

Tipo: DWORD

Dimensione, in byte, della matrice di vincoli del protocollo. Questo membro può essere zero.

lpafpProtocols

Tipo: LPAFPROTOCOLS

Puntatore a una matrice facoltativa di strutture AFPROTOCOLS . Verranno restituiti solo i servizi che utilizzano questi protocolli.

lpszQueryString

Tipo: LPTSTR

Puntatore a una stringa di query con terminazione NULL facoltativa. Alcuni spazi dei nomi, ad esempio Whois++, supportano query di tipo SQL arricchite contenute in una stringa di testo semplice. Questo parametro viene usato per specificare tale stringa.

dwNumberOfCsAddrs

Tipo: DWORD

Questo membro viene ignorato per le query.

lpcsaBuffer

Tipo: LPCSADDR_INFO

Questo membro viene ignorato per le query.

dwOutputFlags

Tipo: DWORD

Questo membro viene ignorato per le query.

lpBlob

Tipo: LPBLOB

Puntatore facoltativo ai dati utilizzati per eseguire query o impostare informazioni sullo spazio dei nomi specifiche del provider. Il formato di queste informazioni è specifico del provider dello spazio dei nomi.

Commenti

La struttura WSAQUERYSET viene usata come parte dell'architettura del provider dello spazio dei nomi originale versione 1 disponibile in Windows 95 e versioni successive. Una versione più recente dell'architettura dello spazio dei nomi è disponibile in Windows Vista e versioni successive.

Nella maggior parte dei casi, le applicazioni interessate solo a un particolare protocollo di trasporto devono vincolare la query in base alla famiglia di indirizzi e al protocollo anziché allo spazio dei nomi. Ciò consente a un'applicazione che deve individuare un servizio TCP/IP, ad esempio, di elaborare la query da tutti gli spazi dei nomi disponibili, ad esempio il file host locale, DNS e NIS.

Nota

L'intestazione winsock2.h definisce WSAQUERYSET come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winsock2.h

Vedi anche

Bluetooth e WSAQUERYSET per richiesta del dispositivo

Bluetooth e WSAQUERYSET per richiesta di assistenza

Bluetooth e WSAQUERYSET per set service

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService