NPI_CLIENT_CHARACTERISTICS structure

The NPI_CLIENT_CHARACTERISTICS structure defines the characteristics of a client module.

Syntax

typedef struct _NPI_CLIENT_CHARACTERISTICS {
  USHORT                                 Version;
  USHORT                                 Length;
  PNPI_CLIENT_ATTACH_PROVIDER_FN         ClientAttachProvider;
  PNPI_CLIENT_DETACH_PROVIDER_FN         ClientDetachProvider;
  PNPI_CLIENT_CLEANUP_BINDING_CONTEXT_FN ClientCleanupBindingContext;
  NPI_REGISTRATION_INSTANCE              ClientRegistrationInstance;
} NPI_CLIENT_CHARACTERISTICS;

Members

Version

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

Length

The size, in bytes, of the NPI_CLIENT_CHARACTERISTICS structure.

ClientAttachProvider

A pointer to the client module's ClientAttachProvider callback function.

ClientDetachProvider

A pointer to the client module's ClientDetachProvider callback function.

ClientCleanupBindingContext

A pointer to the client module's ClientCleanupBindingContext callback function. If the client module does not dynamically allocate the memory for its binding context and no other cleanup of its binding context is required, then the client module does not need to implement a ClientCleanupBindingContext callback function. If the client module does not implement a ClientCleanupBindingContext callback function, then this member must be set to NULL.

ClientRegistrationInstance

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

Remarks

A client module passes a pointer to an NPI_CLIENT_CHARACTERISTICS structure to the NmrRegisterClient function when it registers itself with the NMR.

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

Requirements

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

See Also

ClientAttachProvider

ClientCleanupBindingContext

ClientDetachProvider

NPI_REGISTRATION_INSTANCE

NmrRegisterClient