NDIS_PROTOCOL_DRIVER_CHARACTERISTICS (Compact 2013)

3/26/2014

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;

  DIRECT_OID_REQUEST_COMPLETE_HANDLER  DirectOidRequestCompleteHandler;

} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;

Members

  • 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.

      Set the Size member to NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.

    • NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
      Original version.

      Set the Size member to NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1.

  • MajorNdisVersion
    The major version of the NDIS library the protocol driver is using. The current value is 0x06.
  • MinorNdisVersion
    The minor NDIS version of the NDIS library that the protocol driver is using. The current value is 0x00.
  • MajorDriverVersion
    Reserved for the major version number of the protocol driver. Protocol drivers can specify any value that they require.
  • MinorDriverVersion
    Reserved for the minor version number of the protocol driver. Protocol drivers can specify any value that they require.
  • Flags
    Reserved for NDIS. Protocol drivers should set this member to zero.
  • Name
    A Unicode string that is the service name of the protocol driver.
  • UninstallHandler
    The entry point of the caller's ProtocolUninstall function, if any, or NULL.
  • StatusHandlerEx
    The entry point of the caller's ProtocolStatusEx function, if any, or NULL.
  • ReceiveNetBufferListsHandler
    The entry point for the ProtocolReceiveNetBufferLists function.
  • SendNetBufferListsCompleteHandler
    The entry point for the ProtocolSendNetBufferListsComplete 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.

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

Header

ndis.h

See Also

Reference

NDIS Protocol Driver Structures
NdisRegisterProtocolDriver
ProtocolBindAdapterEx
ProtocolCloseAdapterCompleteEx
ProtocolNetPnPEvent
ProtocolOidRequestComplete
ProtocolOpenAdapterCompleteEx
ProtocolSetOptions
ProtocolStatusEx
ProtocolUnbindAdapterEx
ProtocolUninstall