Microsoft Windows CE 3.0  

NDIS_PROTOCOL_CHARACTERISTICS

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

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

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 ProtocolOpenAdapterCompletefunction.
CloseAdapterCompleteHandler
Specifies the entry point of the caller's ProtocolCloseAdapterCompletefunction.
SendCompleteHandler
Specifies the entry point of the caller's ProtocolSendCompletefunction.
TransferDataCompleteHandler
Specifies the entry point of the caller's ProtocolTransferDataCompletefunction.
ResetCompleteHandler
Specifies the entry point of the caller's ProtocolResetCompletefunction.
RequestCompleteHandler
Specifies the entry point of the caller's ProtocolRequestCompletefunction.
ReceiveHandler
Specifies the entry point of the caller's ProtocolReceivefunction.
ReceiveCompleteHandler
Specifies the entry point of the caller's ProtocolReceiveCompletefunction.
StatusHandler
Specifies the entry point of the caller's ProtocolStatusfunction.
StatusCompleteHandler
Specifies the entry point of the caller's ProtocolStatusCompletefunction.
Name
Specifies a pointer to a buffered, caller-initialized counted string, in the system-default character set, naming the driver.

NdisRegisterProtocolconverts 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 ProtocolReceivePacketfunction, if any, or NULL. Protocols that bind to any driver that supports multipacket receive indications should supply a ProtocolReceivePacketfunction to enhance their performance. MajorNdisVersionmust be set to 0x04.
BindAdapterHandler
Specifies the entry point of the caller's ProtocolBindAdapterfunction, if any, or NULL. NDIS intermediate drivers usually supply a ProtocolBindAdapterfunction, which both makes them Plug and Play–ready and allows the intermediate driver to call NdisIMRegisterLayeredMiniportand to defer full driver initialization until underlying NIC drivers have initialized. MajorNdisVersionmust be set to 0x04.
UnbindAdapterHandler
Specifies the entry point of the caller's ProtocolUnbindAdapterfunction, if any, or NULL. NDIS drivers that supply a ProtocolBindAdapterfunction also must supply a ProtocolUnbindAdapterfunction. MajorNdisVersionmust be set to 0x04.
TranslateHandler
Specifies the entry point of the caller's ProtocolTranslatefunction, 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. MajorNdisVersionmust be set to 0x04.
UnloadHandler
Set to NULL by Windows CE protocol drivers. MajorNdisVersionmust be set to 0x04.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ndis.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.


 Last updated on Tuesday, July 13, 2004

© 2004 Microsoft Corporation. All rights reserved.