Поделиться через


NDIS_PROTOCOL_CHARACTERISTICS (Compact 2013)

3/26/2014

This structure is used to specify the version numbers and various callback functions for a protocol.

Syntax

typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
  UCHAR MajorNdisVersion;
  UCHAR MinorNdisVersion;
  UINT Reserved;
  OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler;
  CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler;
  SEND_COMPLETE_HANDLER SendCompleteHandler;
  TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler;
  RESET_COMPLETE_HANDLER ResetCompleteHandler;
  REQUEST_COMPLETE_HANDLER RequestCompleteHandler;
  RECEIVE_HANDLER ReceiveHandler;
  RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler;
  STATUS_HANDLER StatusHandler;
  STATUS_COMPLETE_HANDLER StatusCompleteHandler;
  NDIS_STRING Name;
  RECEIVE_PACKET_HANDLER ReceivePacketHandler;
  BIND_HANDLER BindAdapterHandler;
  UNBIND_HANDLER UnbindAdapterHandler;
  TRANSLATE_HANDLER TranslateHandler;
  UNLOAD_PROTOCOL_HANDLER UnloadHandler;
} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS

Members

  • MajorNdisVersion
    Specifies the major version of the NDIS library that the driver is using. The current value is 0x05 although the NDIS library continues to support existing drivers developed for NDIS 4.0.

    This member must be set to 0x05 if the caller is an NDIS intermediate driver or if the caller sets entry points in any members following Name.

  • MinorNdisVersion
    Specifies the minor NDIS version. The current value is 0x01 although NDIS continues to support existing drivers.
  • Reserved
    Reserved.
  • ReceiveHandler
    Specifies the entry point of the caller's ProtocolReceive function.
  • StatusHandler
    Specifies the entry point of the caller's ProtocolStatus function.
  • Name
    Specifies a pointer to a buffered caller-initialized counted string in the system-default character set that names the driver.

    NdisRegisterProtocolconverts the supplied string to uppercase. Therefore, a protocol driver writer cannot assume that changing the case of an already registered protocol name creates a unique name for the driver.

  • ReceivePacketHandler
    Specifies the entry point of the caller's ProtocolReceivePacket function, if any, or NULL. Protocols that bind to any driver that supports multipacket receive indications should supply a ProtocolReceivePacket function to improve their performance. MajorNdisVersion must be set to 0x04.
  • BindAdapterHandler
    Specifies the entry point of the caller's ProtocolBindAdapter function, if any, or NULL. NDIS intermediate drivers usually supply a ProtocolBindAdapter function, which both makes them Plug and Play-ready and allows the intermediate driver to call NdisIMRegisterLayeredMiniport40410fd0-076f-4de2-91c2-253258d84954 and to delay full driver initialization until underlying network adapter drivers have initialized. MajorNdisVersion must be set to 0x04.
  • UnbindAdapterHandler
    Specifies the entry point of the caller's ProtocolUnbindAdapter function, if any, or NULL. NDIS drivers that supply a ProtocolBindAdapter function must also supply a ProtocolUnbindAdapter function. MajorNdisVersion must be set to 0x04.
  • TranslateHandler
    Reserved. Specifies the entry point of the caller's ProtocolTranslate function, if any, or NULL. MajorNdisVersion must be set to 0x04.
  • UnloadHandler
    Set to NULL by Windows Embedded Compact-based protocol drivers. MajorNdisVersion must be set to 0x04.

Requirements

Header

ndis.h

See Also

Reference

NDIS 5.x Legacy Structures
ProtocolOpenAdapterComplete
ProtocolCloseAdapterComplete
ProtocolSendComplete
ProtocolTransferDataComplete
ProtocolResetComplete
ProtocolRequestComplete
ProtocolStatus
ProtocolStatusComplete
NdisRegisterProtocol
ProtocolReceivePacket
ProtocolBindAdapter
ProtocolUnbindAdapter
NDIS 5.x Legacy Reference