NPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN callback function

A provider module's ProviderCleanupBindingContext callback function performs any necessary cleanup and deallocation of the provider module's binding context after the provider module and a client module have detached from one another.

Syntax

NPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN NpiProviderCleanupBindingContextFn;

void NpiProviderCleanupBindingContextFn(
  PVOID ProviderBindingContext
)
{...}

Parameters

ProviderBindingContext

A pointer to the provider module's context for the binding between the provider module and the client module from which it has detached. The provider module's ProviderAttachClient callback function returns this pointer to the NMR when it attaches to the client module.

Return Value

None

Remarks

The NMR calls a provider module's ProviderCleanupBindingContext callback function after the provider and a client module have detached from one another.

A provider module's ProviderCleanupBindingContext callback function should perform any necessary cleanup of the data contained within the provider module's binding context structure. It should then free the memory for the binding context structure if the provider module dynamically allocated the memory for the structure.

If the provider module does not dynamically allocate the memory for its binding context and no other cleanup of its binding context is required, then the provider module does not need to implement a ProviderCleanupBindingContext callback function. If the provider module does not implement a ProviderCleanupBindingContext callback function, then it must set the ProviderCleanupBindingContext member of the NPI_PROVIDER_CHARACTERISTICS structure to NULL when it calls the NmrRegisterProvider function to register itself with the NMR.

The NMR calls a provider module's ProviderCleanupBindingContext callback function at any IRQL <= DISPATCH_LEVEL.

Requirements

   
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Target Platform Windows
Header netioddk.h (include Wsk.h)
IRQL "<= DISPATCH_LEVEL"

See Also

ClientDetachProvider

NPI_PROVIDER_CHARACTERISTICS

ProviderAttachClient

ProviderDetachClient