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 構造体。 ヘッダー がNDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICSに指定 構造体の Type メンバーを設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 構造体のバージョンを示すには、Revision メンバーを次のいずれかの値に設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
NDIS 6.1 DirectOidRequestCompleteHandler メンバーを追加しました。
Size メンバーをNDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2に設定します。
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0 の元のバージョン。
Size メンバーを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 に設定します。
備考
プロトコル ドライバーは、次のコマンドを呼び出します。NdisRegisterProtocolDriver 関数、プロトコル ドライバー関数の既定のエントリ ポイント (ProtocolXxx) など、その特性を登録します。 プロトコル ドライバーは、NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 構造体を初期化し、NdisRegisterProtocolDriver の ProtocolCharacteristics パラメーターでこの構造体ポインターを渡します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ヘッダー | ndis.h (Ndis.h を含む) |
関連項目
NdisRegisterProtocolDriver の
ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete