PFN_WSK_GET_ADDRESS_INFO fonction de rappel (wsk.h)

La fonction WskGetAddressInfo effectue une traduction indépendante du protocole d’un nom d’hôte vers une adresse de transport.

Syntaxe

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
)
{...}

Paramètres

[in] Client

[in] Pointeur vers une structure WSK_CLIENT qui a été retournée via le paramètre WskProviderNpi du Fonction WskCaptureProviderNPI .

[in, optional] NodeName

[in] Pointeur facultatif vers une structure de UNICODE_STRING qui contient une chaîne Unicode qui représente un nom d’hôte (nœud) ou une chaîne d’adresse hôte numérique. Pour le protocole Internet, la chaîne d’adresse de l’hôte numérique est une adresse IPv4 décimale en pointillés ou une adresse hexadécimale IPv6.

[in, optional] ServiceName

[in] Pointeur facultatif vers une structure de UNICODE_STRING qui contient une chaîne Unicode qui représente un nom de service ou un numéro de port.

[in, optional] NameSpace

[in] Identificateur d’espace de noms facultatif qui spécifie les fournisseurs d’espaces de noms interrogés. Seuls les fournisseurs d’espaces de noms qui prennent en charge l’espace de noms spécifié peuvent être interrogés correctement.

[in, optional] Provider

[in] Pointeur facultatif vers un GUID d’un fournisseur d’espace de noms spécifique à interroger.

[in, optional] Hints

[in] Pointeur facultatif vers une structure ADDRINFOEXW qui fournit des indicateurs sur le type de socket pris en charge par l’appelant.

La structure ADDRINFOEXW est définie dans l’en-tête Ws2def.h. Il est identique à
structure addrinfoex .

Important Le fichier d’en-tête Ws2def.h est automatiquement inclus dans Wsk.h. N’utilisez pas Ws2def.h directement.
 

[out] Result

[out] Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit une liste liée d’une ou plusieurs structures ADDRINFOEXW qui représentent les informations de réponse sur l’hôte.

Note L’appelant doit appeler la fonction WskFreeAddressInfo pour libérer ce pointeur.
 
La structure ADDRINFOEXW est définie dans l’en-tête Ws2def.h. Il est identique à la structure addrinfoex .
Important Le fichier d’en-tête Ws2def.h est automatiquement inclus dans Wsk.h. N’utilisez pas Ws2def.h directement.
 

[in, optional] OwningProcess

[in] Pointeur facultatif vers le processus à partir duquel la fonction récupère le contexte de sécurité. Ce contexte de sécurité indique le contexte du compte d’utilisateur dans lequel la fonction traite la demande de résolution de noms.

Si ce paramètre a la valeur NULL, la fonction traite la demande de résolution de noms dans le contexte d’un compte local prédéfini avec des privilèges minimaux.

Si ce paramètre n’est pas NULL et qu’un jeton d’emprunt d’identité est en vigueur pour le thread appelant, cette fonction échoue et retourne STATUS_INVALID_PARAMETER.

[in, optional] OwningThread

[in] Pointeur facultatif vers le thread à partir duquel la fonction récupère le contexte de sécurité. Ce paramètre peut être non NULL uniquement si OwningProcess n’a pas la valeur NULL. Sinon, cette fonction échoue et retourne STATUS_INVALID_PARAMETER.

Si ce paramètre n’est pas NULL et qu’un jeton d’emprunt d’identité est en vigueur pour le thread appelant, cette fonction échoue et retourne STATUS_INVALID_PARAMETER.

[in, out] Irp

[in/out] Pointeur vers un paquet de demande d’E/S (IRP) à utiliser pour terminer la demande de manière asynchrone. Une fois la demande terminée, Irp ->Iostatus.Information conserve le code status retourné.

Valeur retournée

WskGetAddressInfo retourne l’un des codes NTSTATUS suivants :

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été spécifié.
STATUS_NO_MATCH
Impossible de résoudre le nom d’hôte.
STATUS_SUCCESS
La fonction s’est terminée avec succès. Si l’application WSK a spécifié un pointeur vers un IRP dans le Paramètre Irp, l’IRP sera terminé avec une status réussie.
STATUS_PENDING
Le sous-système WSK n’a pas pu terminer la fonction immédiatement. Le sous-système WSK termine l’IRP une fois l’opération de contrôle terminée. Le status de l’opération de contrôle sera retourné dans le champ IoStatus.Status de l’IRP.
Autres codes status
Une erreur est survenue. L’IRP sera terminé avec l’échec status.

Remarques

Le processus vers lequel pointe le paramètre OwningProcess , ou le thread vers lequel pointe le processus OwningThread , indique le contexte de sécurité de cette fonction. Le compte d’utilisateur indiqué par le contexte de sécurité indique le contexte de la demande de résolution de noms de la fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 7 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête wsk.h (inclure Wsk.h)
IRQL PASSIVE_LEVEL

Voir aussi

UNICODE_STRING

WSK_CLIENT

WskCaptureProviderNPI

WskFreeAddressInfo