NDIS_PROTOCOL_DRIVER_CHARACTERISTICS構造体 (ndis.h)
ドライバーの特性を指定するには、プロトコル ドライバーは 、NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 構造体を初期化し、NDIS に渡します。
構文
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;
メンバー
Header
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS構造体のNDIS_OBJECT_HEADER構造体。 Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICSに設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS構造体のバージョンを示すには、Revision メンバーを次のいずれかの値に設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
NDIS 6.1 の DirectOidRequestCompleteHandler メンバーを追加しました。
[サイズ] メンバーを [NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2] に設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0 の元のバージョン。
[サイズ] メンバーをNDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1に設定します。
MajorNdisVersion
プロトコル ドライバーが使用している NDIS ライブラリのメジャー バージョン。 現在の値は0x06。
MinorNdisVersion
マイナー NDIS バージョン。 使用可能なマイナー バージョン値の設定を次に示します。
値 | 意味 |
---|---|
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 |
81 | NDIS 6.81 |
82 | NDIS 6.82 |
83 | NDIS 6.83 |
84 | NDIS 6.84 |
85 | NDIS 6.85 |
86 | NDIS 6.86 |
87 | NDIS 6.87 |
88 | NDIS 6.88 |
89 | NDIS 6.89 |
MajorDriverVersion
プロトコル ドライバーのメジャー バージョン番号用に予約されています。 プロトコル ドライバーは、必要な任意の値を指定できます。
MinorDriverVersion
プロトコル ドライバーのマイナー バージョン番号用に予約されています。 プロトコル ドライバーは、必要な任意の値を指定できます。
Flags
NDIS 6.89 以降では、次のフラグがサポートされています。
値 | 意味 |
---|---|
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | ドライバーによる URO サポートのオプトアウト。 |
NDIS 6.88 以降では、 フラグ は NDIS 用に予約されています。 プロトコル ドライバーでは、このメンバーを 0 に設定する必要があります。
Name
プロトコル ドライバーのサービス名である Unicode 文字列。
SetOptionsHandler
ProtocolSetOptions 関数のエントリ ポイント。
BindAdapterHandlerEx
のエントリ ポイント ProtocolBindAdapterEx 関数。
UnbindAdapterHandlerEx
のエントリ ポイント ProtocolUnbindAdapterEx 関数。
OpenAdapterCompleteHandlerEx
のエントリ ポイント ProtocolOpenAdapterCompleteEx 関数。
CloseAdapterCompleteHandlerEx
のエントリ ポイント ProtocolCloseAdapterCompleteEx 関数。
NetPnPEventHandler
呼び出し元の ProtocolNetPnPEvent 関数のエントリ ポイント。
UninstallHandler
呼び出し元の ProtocolUninstall 関数のエントリ ポイント (存在する場合)、または NULL。
OidRequestCompleteHandler
呼び出し元のエントリ ポイント ProtocolOidRequestComplete 関数。
StatusHandlerEx
呼び出し元の ProtocolStatusEx 関数のエントリ ポイント (存在する場合)、または NULL。
ReceiveNetBufferListsHandler
のエントリ ポイント ProtocolReceiveNetBufferLists 関数。
SendNetBufferListsCompleteHandler
のエントリ ポイント ProtocolSendNetBufferListsComplete 関数。
DirectOidRequestCompleteHandler
呼び出し元のエントリ ポイント ProtocolDirectOidRequestComplete 関数。 これは省略可能な関数です。 プロトコル ドライバーが直接 OID 要求インターフェイスをサポートしていない場合は、このエントリ ポイントを NULL に 設定します。
注釈
プロトコル ドライバーは、 を呼び出します。プロトコル ドライバー関数 (ProtocolXxx) の既定のエントリ ポイントなど、その特性を登録する NdisRegisterProtocolDriver 関数。 プロトコル ドライバーは、NDIS_PROTOCOL_DRIVER_CHARACTERISTICS構造体を初期化し、NdisRegisterProtocolDriver の ProtocolCharacteristics パラメーターでこの構造体へのポインターを渡します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |