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.
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