NPI_PROVIDER_CHARACTERISTICS - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// netioddk.h

typedef struct _NPI_PROVIDER_CHARACTERISTICS {
  USHORT                                   Version;
  USHORT                                   Length;
  PNPI_PROVIDER_ATTACH_CLIENT_FN           ProviderAttachClient;
  PNPI_PROVIDER_DETACH_CLIENT_FN           ProviderDetachClient;
  PNPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN ProviderCleanupBindingContext;
  NPI_REGISTRATION_INSTANCE                ProviderRegistrationInstance;
} NPI_PROVIDER_CHARACTERISTICS;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-netioddk-_npi_provider_characteristics)

_NPI_PROVIDER_CHARACTERISTICS structure

Description

The NPI_PROVIDER_CHARACTERISTICS structure defines the characteristics of a provider module.

Members

Version

The version of the NMR with which the provider is registering. A provider module should set this member to zero.

Length

The size, in bytes, of the NPI_PROVIDER_CHARACTERISTICS structure.

ProviderAttachClient

A pointer to the provider module's ProviderAttachClient callback function.

ProviderDetachClient

A pointer to the provider module's ProviderDetachClient callback function.

ProviderCleanupBindingContext

A pointer to the provider module's ProviderCleanupBindingContext callback function. 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 this member must be set to NULL.

ProviderRegistrationInstance

An NPI_REGISTRATION_INSTANCE structure that specifies the identity of the provider module and the NPI for which it is registering.

Remarks

A provider module passes a pointer to an NPI_PROVIDER_CHARACTERISTICS structure to the NmrRegisterProvider function when it registers itself with the NMR.

A provider module must make sure that this structure remains valid and resident in memory as long as the provider module is registered with the NMR.

See also

NPI_REGISTRATION_INSTANCE

NmrRegisterProvider

ProviderAttachClient

ProviderCleanupBindingContext

ProviderDetachClient