NDIS_PROTOCOL_CHARACTERISTICS
This structure is used to specify the version numbers and various callback functions for a protocol.
At a Glance
Header file: |
Ndis.h |
Windows CE versions: |
2.0 and later |
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 0x04 although the NDIS library continues to support existing drivers developed for NDIS V3.0.
This member must be set to 0x04 if the caller 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 0x00 although NDIS continues to support existing drivers.
- Reserved
- This member is reserved for system use.
- OpenAdapterCompleteHandler
- Specifies the entry point of the caller’s ProtocolOpenAdapterComplete function.
- CloseAdapterCompleteHandler
- Specifies the entry point of the caller’s ProtocolCloseAdapterComplete function.
- SendCompleteHandler
- Specifies the entry point of the caller’s ProtocolSendComplete function.
- TransferDataCompleteHandler
- Specifies the entry point of the caller’s ProtocolTransferDataComplete function.
- ResetCompleteHandler
- Specifies the entry point of the caller’s ProtocolResetComplete function.
- RequestCompleteHandler
- Specifies the entry point of the caller’s ProtocolRequestComplete function.
- ReceiveHandler
- Specifies the entry point of the caller’s ProtocolReceive function.
- ReceiveCompleteHandler
- Specifies the entry point of the caller’s ProtocolReceiveComplete function.
- StatusHandler
- Specifies the entry point of the caller’s ProtocolStatus function.
- StatusCompleteHandler
- Specifies the entry point of the caller’s ProtocolStatusComplete function.
- Name
- Specifies a pointer to a buffered, caller-initialized counted string, in the system-default character set, naming the driver.
NdisRegisterProtocol converts the supplied string to upper case, so 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 enhance 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 NdisIMRegisterLayeredMiniport and to defer full driver initialization until underlying NIC 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 also must supply a ProtocolUnbindAdapter function. MajorNdisVersion must be set to 0x04.
- TranslateHandler
- Specifies the entry point of the caller’s ProtocolTranslate function, if any, or NULL. Such a function currently is not called, and this member is reserved for future use by Plug and Play–aware protocols. MajorNdisVersion must be set to 0x04.
- UnloadHandler
- Set to NULL by Windows CE protocol drivers. MajorNdisVersion must be set to 0x04.