NPI_PROVIDER_CHARACTERISTICS structure (netioddk.h)

The NPI_PROVIDER_CHARACTERISTICS structure defines the characteristics of a provider module.

Syntax

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;

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.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Header netioddk.h (include Wsk.h)

See also

NPI_REGISTRATION_INSTANCE

NmrRegisterProvider

ProviderAttachClient

ProviderCleanupBindingContext

ProviderDetachClient