PFN_WSK_GET_ADDRESS_INFO funzione di callback (wsk.h)

La funzione WskGetAddressInfo esegue la traduzione indipendente dal protocollo da un nome host a un indirizzo di trasporto.

Sintassi

PFN_WSK_GET_ADDRESS_INFO PfnWskGetAddressInfo;

NTSTATUS PfnWskGetAddressInfo(
  [in]           PWSK_CLIENT Client,
  [in, optional] PUNICODE_STRING NodeName,
  [in, optional] PUNICODE_STRING ServiceName,
  [in, optional] ULONG NameSpace,
  [in, optional] GUID *Provider,
  [in, optional] PADDRINFOEXW Hints,
  [out]          PADDRINFOEXW *Result,
  [in, optional] PEPROCESS OwningProcess,
  [in, optional] PETHREAD OwningThread,
  [in, out]      PIRP Irp
)
{...}

Parametri

[in] Client

[in] Puntatore a una struttura WSK_CLIENT restituita tramite il parametro WskProviderNpi dell'oggetto Funzione WskCaptureProviderNPI .

[in, optional] NodeName

[in] Puntatore facoltativo a una struttura UNICODE_STRING contenente una stringa Unicode che rappresenta un nome host (nodo) o una stringa di indirizzo host numerico. Per il protocollo Internet, la stringa di indirizzo host numerico è un indirizzo IPv4 con estensione decimale o un indirizzo esadecimale IPv6.

[in, optional] ServiceName

[in] Puntatore facoltativo a una struttura UNICODE_STRING contenente una stringa Unicode che rappresenta un nome del servizio o un numero di porta.

[in, optional] NameSpace

[in] Identificatore di spazio dei nomi facoltativo che specifica i provider di spazi dei nomi che vengono sottoposti a query. È possibile eseguire query solo sui provider di spazi dei nomi che supportano lo spazio dei nomi specificato.

[in, optional] Provider

[in] Puntatore facoltativo a un GUID di un provider di spazi dei nomi specifico da eseguire query.

[in, optional] Hints

[in] Puntatore facoltativo a una struttura ADDRINFOEXW che fornisce hint sul tipo di socket supportato dal chiamante.

La struttura ADDRINFOEXW è definita nell'intestazione Ws2def.h. È identico al
struttura addrinfoex .

Importante Il file di intestazione Ws2def.h viene incluso automaticamente in Wsk.h. Non usare direttamente Ws2def.h.
 

[out] Result

[out] Puntatore a un buffer allocato dal chiamante che riceve un elenco collegato di una o più strutture ADDRINFOEXW che rappresentano le informazioni sulla risposta sull'host.

Nota Il chiamante deve chiamare la funzione WskFreeAddressInfo per liberare questo puntatore.
 
La struttura ADDRINFOEXW è definita nell'intestazione Ws2def.h. È identico alla struttura addrinfoex .
Importante Il file di intestazione Ws2def.h viene incluso automaticamente in Wsk.h. Non usare direttamente Ws2def.h.
 

[in, optional] OwningProcess

[in] Puntatore facoltativo al processo da cui la funzione recupera il contesto di sicurezza. Questo contesto di sicurezza indica il contesto dell'account utente in cui la funzione elabora la richiesta di risoluzione dei nomi.

Se questo parametro è NULL, la funzione elabora la richiesta di risoluzione dei nomi nel contesto di un account locale predefinito con privilegi minimi.

Se questo parametro non è NULL e un token di rappresentazione è effettivo per il thread chiamante, questa funzione ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

[in, optional] OwningThread

[in] Puntatore facoltativo al thread da cui la funzione recupera il contesto di sicurezza. Questo parametro può essere diverso da NULL solo se OwningProcess non è NULL. In caso contrario, questa funzione ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

Se questo parametro non è NULL e un token di rappresentazione è effettivo per il thread chiamante, questa funzione ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

[in, out] Irp

[in/out] Puntatore a un pacchetto di richiesta I/O da usare per completare la richiesta in modo asincrono. Al termine della richiesta, Irp ->Iostatus.Information conterrà il codice di stato restituito.

Valore restituito

WskGetAddressInfo restituisce uno dei codici NTSTATUS seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
È stato specificato un parametro non valido.
STATUS_NO_MATCH
Impossibile risolvere il nome host.
STATUS_SUCCESS
La funzione è stata completata correttamente. Se l'applicazione WSK ha specificato un puntatore a un'istanza di IRP nell'oggetto Il parametro IRP verrà completato con uno stato di esito positivo.
STATUS_PENDING
Il sottosistema WSK non è riuscito a completare immediatamente la funzione. Il sottosistema WSK completerà l'IRP dopo aver completato l'operazione di controllo. Lo stato dell'operazione di controllo verrà restituito nel campo IoStatus.Status dell'IRP .
Altri codici di stato
Si è verificato un errore. L'IRP verrà completato con lo stato di errore.

Commenti

Il processo a cui punta il parametro OwningProcess o il thread a cui punta il processo OwningThread indica il contesto di sicurezza per questa funzione. L'account utente indicato dal contesto di sicurezza indica il contesto per la richiesta di risoluzione dei nomi della funzione.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 7 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione wsk.h (include Wsk.h)
IRQL PASSIVE_LEVEL

Vedi anche

UNICODE_STRING

WSK_CLIENT

WskCaptureProviderNPI

WskFreeAddressInfo