_NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure

To specify its driver characteristics, a protocol driver initializes an NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure and passes it to NDIS.

Syntax

typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  UCHAR                                  MajorNdisVersion;
  UCHAR                                  MinorNdisVersion;
  UCHAR                                  MajorDriverVersion;
  UCHAR                                  MinorDriverVersion;
  ULONG                                  Flags;
  NDIS_STRING                            Name;
  SET_OPTIONS_HANDLER                    SetOptionsHandler;
  BIND_HANDLER_EX                        BindAdapterHandlerEx;
  UNBIND_HANDLER_EX                      UnbindAdapterHandlerEx;
  OPEN_ADAPTER_COMPLETE_HANDLER_EX       OpenAdapterCompleteHandlerEx;
  CLOSE_ADAPTER_COMPLETE_HANDLER_EX      CloseAdapterCompleteHandlerEx;
  NET_PNP_EVENT_HANDLER                  NetPnPEventHandler;
  UNINSTALL_PROTOCOL_HANDLER             UninstallHandler;
  OID_REQUEST_COMPLETE_HANDLER           OidRequestCompleteHandler;
  STATUS_HANDLER_EX                      StatusHandlerEx;
  RECEIVE_NET_BUFFER_LISTS_HANDLER       ReceiveNetBufferListsHandler;
  SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
#if (NDIS_SUPPORT_NDIS61)
  DIRECT_OID_REQUEST_COMPLETE_HANDLER    DirectOidRequestCompleteHandler;
#endif 
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;

Members

BindAdapterHandlerEx

The entry point for the ProtocolBindAdapterEx function.

CloseAdapterCompleteHandlerEx

The entry point for the ProtocolCloseAdapterCompleteEx function.

DirectOidRequestCompleteHandler

The entry point of the caller's ProtocolDirectOidRequestComplete function. This is an optional function. Set this entry point to NULL if the protocol driver does not support the direct OID request interface.

Flags

Reserved for NDIS. Protocol drivers should set this member to zero.

Header

The NDIS_OBJECT_HEADER structure for the NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS.

To indicate the version of the NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure, set the Revision member to one of the following values:

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2

Added the DirectOidRequestCompleteHandler member for NDIS 6.1.

Set the Size member to NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1

Original version for NDIS 6.0.

Set the Size member to NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1.

MajorDriverVersion

Reserved for the major version number of the protocol driver. Protocol drivers can specify any value that they require.

MajorNdisVersion

The major version of the NDIS library the protocol driver is using. The current value is 0x06.

MinorDriverVersion

Reserved for the minor version number of the protocol driver. Protocol drivers can specify any value that they require.

MinorNdisVersion

The minor NDIS version. The following are the available minor version value settings.

Value Meaning
0
NDIS 6
20
NDIS 6.20
30
NDIS 6.30
40
NDIS 6.40
50
NDIS 6.50
51
NDIS 6.51
60
NDIS 6.60
70
NDIS 6.70
80
NDIS 6.80

Name

A Unicode string that is the service name of the protocol driver.

NetPnPEventHandler

The entry point of the caller's ProtocolNetPnPEvent function.

OidRequestCompleteHandler

The entry point of the caller's ProtocolOidRequestComplete function.

OpenAdapterCompleteHandlerEx

The entry point for the ProtocolOpenAdapterCompleteEx function.

ReceiveNetBufferListsHandler

The entry point for the ProtocolReceiveNetBufferLists function.

SendNetBufferListsCompleteHandler

The entry point for the ProtocolSendNetBufferListsComplete function.

SetOptionsHandler

The entry point for the ProtocolSetOptions function.

StatusHandlerEx

The entry point of the caller's ProtocolStatusEx function, if any, or NULL.

UnbindAdapterHandlerEx

The entry point for the ProtocolUnbindAdapterEx function.

UninstallHandler

The entry point of the caller's ProtocolUninstall function, if any, or NULL.

Remarks

A protocol driver calls the NdisRegisterProtocolDriver function to register its characteristics, including the default entry points for its protocol driver functions (ProtocolXxx). The protocol driver initializes an NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure and passes a pointer to this structure in the ProtocolCharacteristics parameter of NdisRegisterProtocolDriver.

Requirements

   
Windows version Supported in NDIS 6.0 and later. Supported in NDIS 6.0 and later.
Header ndis.h (include Ndis.h)

See Also

ProtocolReceiveNetBufferLists

ProtocolOidRequestComplete

ProtocolNetPnPEvent

ProtocolCloseAdapterCompleteEx

NdisRegisterProtocolDriver

ProtocolSendNetBufferListsComplete

ProtocolUninstall

ProtocolUnbindAdapterEx

ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOpenAdapterCompleteEx

ProtocolDirectOidRequestComplete

ProtocolBindAdapterEx

Send comments about this topic to Microsoft