Fonction WskCaptureProviderNPI (wsk.h)
La fonction WskCaptureProviderNPI capture une interface de programmation réseau (NPI) du fournisseur lorsqu’elle devient disponible à partir du sous-système WSK.
Syntaxe
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
Paramètres
[in] WskRegistration
Pointeur vers l’emplacement de mémoire initialisé par WskRegister qui identifie les instance d’inscription d’une application WSK. Pour plus d’informations, consultez WSK_REGISTRATION.
[in] WaitTimeout
Durée, en millisecondes, pendant laquelle la fonction WskCaptureProviderNPI peut attendre que le NPI du fournisseur WSK soit disponible. Vous pouvez également spécifier les éléments suivants :
WSK_NO_WAIT
Retournez immédiatement à partir de cette fonction si le NPI du fournisseur n’est pas disponible.
WSK_INFINITE_WAIT
Attendez que le NPI du fournisseur soit disponible à partir du sous-système WSK.
Pour plus d’informations sur l’utilisation de ce paramètre, consultez Inscription d’une application de noyau Winsock.
[out] WskProviderNpi
Pointeur vers l’indicateur NPI retourné par le fournisseur WSK. Cette structure WSK_PROVIDER_NPI contient un pointeur vers la table de répartition du fournisseur WSK des fonctions WSK que l’application WSK peut appeler.
Valeur retournée
WskCaptureProviderNPI retourne l’un des codes NTSTATUS suivants :
Code de retour | Description |
---|---|
|
La capture NPI du fournisseur s’est terminée avec succès. |
|
L’indicateur NPI du fournisseur n’était pas encore disponible. |
|
La version demandée par le client WSK n’est pas prise en charge par le sous-système WSK. |
|
La capture NPI du fournisseur a échoué. |
Remarques
Pour chaque appel à WskCaptureProviderNPI qui retourne un code de réussite, il doit y avoir exactement un appel WskReleaseProviderNPI correspondant qui utilise le même paramètre WskRegistration qui a été passé à WskCaptureProviderNPI.
WskCaptureProviderNPI peut être appelé après un appel à WskDeregister uniquement si le bloc WskRegistration n’est pas libéré ou remplacé. Une fois WskDeregister appelé, tous les autres appels à WskCaptureProviderNPI échouent avec status code STATUS_DEVICE_NOT_READY, et, à moins que le NPI du fournisseur ne devienne disponible simultanément, tous les appels WskCaptureProviderNPI existants qui sont bloqués dans d’autres threads en attente de la disponibilité du NPI du fournisseur WSK seront également retournés immédiatement avec status code STATUS_DEVICE_NOT_READY.
Pour plus d’informations sur l’attachement d’une application WSK au sous-système WSK, consultez Inscription d’une application de noyau Winsock.
Les appelants de la fonction WskCaptureProviderNPI doivent être en cours d’exécution à IRQL = PASSIVE_LEVEL si WaitTimeout n’est pas défini sur WSK_NO_WAIT ; sinon, les appelants doivent être en cours d’exécution à IRQL <= DISPATCH_LEVEL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | wsk.h (inclure Wsk.h) |
Bibliothèque | Netio.lib |
IRQL | PASSIVE_LEVEL (voir la section Remarques) |