Partager via


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
STATUS_SUCCESS
Le module fournisseur s’est correctement détaché du module client.
STATUS_PENDING
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

Voir aussi

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext