NPI_PROVIDER_DETACH_CLIENT_FN fonction de rappel (netioddk.h)
La fonction de rappel ProviderDetachClient d’un module fournisseur détache le module fournisseur d’un module client.
Syntaxe
NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;
NTSTATUS NpiProviderDetachClientFn(
[in] PVOID ProviderBindingContext
)
{...}
Paramètres
[in] ProviderBindingContext
Pointeur vers le contexte du module fournisseur pour la liaison entre le module fournisseur et le module client dont il se détache. La fonction de rappel ProviderAttachClient du module fournisseur retourne ce pointeur vers la rmN lorsqu’il est attaché au module client.
Valeur retournée
La fonction de rappel ProviderDetachClient d’un module fournisseur retourne l’un des codes NTSTATUS suivants :
Code de retour | Description |
---|---|
|
Le module fournisseur s’est correctement détaché du module client. |
|
Le module fournisseur n’a pas pu se détacher immédiatement du module client. |
Remarques
La RMN appelle la fonction de rappel ProviderDetachClient d’un module fournisseur chaque fois que la liaison entre le module fournisseur et un module client doit être arrêtée. Le détachement est initié par le module client appelant la fonction NmrDeregisterClient ou par le module fournisseur appelant la fonction NmrDeregisterProvider .
Une fois sa fonction de rappel ProviderDetachClient appelée, un module fournisseur ne doit plus appeler les fonctions de rappel NPI du module client. S’il n’y a pas d’appels en cours à l’une des fonctions de rappel NPI du module client lorsque la fonction de rappel ProviderDetachClient du module fournisseur est appelée, la fonction de rappel ProviderDetachClient du module fournisseur retourne STATUS_SUCCESS.
S’il existe des appels en cours à une ou plusieurs fonctions de rappel NPI du module client lorsque la fonction de rappel ProviderDetachClient du module fournisseur est appelée, la fonction de rappel ProviderDetachClient du module fournisseur retourne STATUS_PENDING. Dans ce cas, le module fournisseur doit appeler le Fonction NmrProviderDetachClientComplete une fois que tous les appels en cours aux fonctions de rappel NPI du module client sont terminés. Appel au La fonction NmrProviderDetachClientComplete informe la RMN que le détachement du module client est terminé.
La RMN appelle le module clientFonction de rappel ClientCleanupBindingContext et le module du fournisseurFonction de rappel ProviderCleanupBindingContext une fois que le module client et le module fournisseur ont terminé le détachement l’un de l’autre.
La RMN appelle la fonction de rappel ProviderDetachClient d’un module fournisseur à n’importe quel 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 | Windows |
En-tête | netioddk.h (inclure Wsk.h) |
IRQL | <= DISPATCH_LEVEL |