NDIS ドライバーは、ミニポート ドライバーの特性を定義する NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体を初期化します。ミニポートXxx 関数 エントリ ポイントを含みます。
構文
typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
NDIS_OBJECT_HEADER Header;
UCHAR MajorNdisVersion;
UCHAR MinorNdisVersion;
UCHAR MajorDriverVersion;
UCHAR MinorDriverVersion;
ULONG Flags;
SET_OPTIONS_HANDLER SetOptionsHandler;
MINIPORT_INITIALIZE_HANDLER InitializeHandlerEx;
MINIPORT_HALT_HANDLER HaltHandlerEx;
MINIPORT_DRIVER_UNLOAD UnloadHandler;
MINIPORT_PAUSE_HANDLER PauseHandler;
MINIPORT_RESTART_HANDLER RestartHandler;
MINIPORT_OID_REQUEST_HANDLER OidRequestHandler;
MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER SendNetBufferListsHandler;
MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER ReturnNetBufferListsHandler;
MINIPORT_CANCEL_SEND_HANDLER CancelSendHandler;
MINIPORT_CHECK_FOR_HANG_HANDLER CheckForHangHandlerEx;
MINIPORT_RESET_HANDLER ResetHandlerEx;
MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER DevicePnPEventNotifyHandler;
MINIPORT_SHUTDOWN_HANDLER ShutdownHandlerEx;
MINIPORT_CANCEL_OID_REQUEST_HANDLER CancelOidRequestHandler;
MINIPORT_DIRECT_OID_REQUEST_HANDLER DirectOidRequestHandler;
MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;
メンバーズ
Header
NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体の NDIS_OBJECT_HEADER 構造体。 ヘッダー が指定 構造体の 型 メンバーをNDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICSに設定します。
NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体のバージョンを示すには、Revision メンバーを次のいずれかの値に設定します。
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3
NDIS 6.80 の SynchronousOidRequestHandler メンバーを追加しました。
Size メンバーをNDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3に設定します。
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2
DirectOidRequestHandler、および NDIS 6.1 の CancelDirectOidRequestHandler メンバーを しました。
Size メンバーをNDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2に設定します。
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0 の元のバージョン。
Size メンバーをNDIS_SIZEOF_MINIPORT_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
0 または次のいずれかのフラグをビットごとの OR と組み合わせて設定できるビットマスク。
NDIS_INTERMEDIATE_DRIVER
呼び出し元が NDIS 中間ドライバーの場合に設定します。
NDIS_WDM_DRIVER
呼び出し元が NDIS-WDM ミニポート ドライバーの場合に設定します。
SetOptionsHandler
呼び出し元の ミニポート セットOptions 関数のエントリ ポイント。
共同 NDIS に必要です。 PCI 経由の MSI-C を使用して RSS をサポートするイーサネット ミニポート ドライバーに推奨されます。
InitializeHandlerEx
必須。 のエントリ ポイントミニポートInitializeEx 関数を します。
HaltHandlerEx
必須。 ミニポートHaltEx 関数のエントリ ポイント。
UnloadHandler
必須。 のエントリ ポイントミニポートDriverUnload 関数を します。
PauseHandler
必須。 ミニポートPause 関数のエントリ ポイント。
RestartHandler
必須。 ミニポートRestart 関数のエントリ ポイント。
OidRequestHandler
ミニポートOidRequest 関数のエントリ ポイント。 すべてのイーサネット、WLAN、および IM ドライバーを含むすべての接続のないミニポート ドライバーに必要です。 一部の CoNDIS ミニポート ドライバーの場合は省略可能です。
SendNetBufferListsHandler
必須。 のエントリ ポイント ミニポートSendNetBufferLists 関数です。
ReturnNetBufferListsHandler
必須。 のエントリ ポイントミニポートReturnNetBufferLists 関数を します。
CancelSendHandler
必須。 ミニポートCancelSend 関数のエントリ ポイント。
CheckForHangHandlerEx
随意。 のエントリ ポイントミニポートCheckForHangEx 関数を します。
ミニポートチェックForHangEx は、中間ドライバーまたは仮想ミニポートに必要ありません。これは、ハングする可能性のある物理デバイスではないためです。そのため、このエントリ ポイントを NULL 設定する必要があります。
ミニポートCheckForHangEx は、バッテリ寿命への影響のため、AOAC デバイスでは禁止されているため、これらのデバイスのミニポート ドライバーは、このエントリ ポイントを NULLに設定する必要があります。
ミニポート チェックForHangEx は、バッテリ寿命への影響のため、AOAC 以外のバッテリ駆動デバイスにインストールすることを目的としたミニポート ドライバーでは推奨されないため、このエントリ ポイントを NULL 設定する必要があります。
ミニポートCheckForHangEx は許可されていますが、ラインパワード (メイン電源) デバイスにインストールすることを目的としたミニポート ドライバーには必要ありません。 NDIS 6.30 以降を対象とするドライバーの場合は、代わりに NdisMResetMiniport を使用することを検討してください。
ResetHandlerEx
省略可能 (CheckForHangHandlerEx 指定する場合は必須)。 ミニポートResetEx 関数のエントリ ポイント。 ミニポートResetEx は中間ドライバーには必要ないため、このエントリ ポイントを NULL 設定する必要があります。
DevicePnPEventNotifyHandler
必須。 のエントリ ポイントミニポートDevicePnPEventNotify 関数を します。
ShutdownHandlerEx
必須。 ミニポートShutdownEx 関数のエントリ ポイント。
CancelOidRequestHandler
必須。 のエントリ ポイントミニポート AncelOidRequest 関数です。
DirectOidRequestHandler
のエントリ ポイントミニポートDirectOidRequest 関数を します。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが直接 OID 要求を処理しない場合は、このメンバーを NULL に設定します。
イーサネットの場合は省略可能。ただし、いずれかを指定する場合は、両方を指定する必要があります。
RDMA または IPSec オフロードを実装する WLAN およびイーサネット ミニポートに必要です。
CancelDirectOidRequestHandler
のエントリ ポイントミニポートCancelDirectOidRequest 関数を します。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが直接 OID 要求を処理しない場合は、このメンバーを NULL に設定します。
イーサネットの場合は省略可能。ただし、いずれかを指定する場合は、両方を指定する必要があります。
RDMA または IPSec オフロードを実装する WLAN およびイーサネット ミニポートに必要です。
SynchronousOidRequestHandler
のエントリ ポイントミニポートSynchronousOidRequest 関数を します。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが同期 OID 要求を処理しない場合は、このメンバーを null を に設定します。
RSSv2 を実装する WLAN およびイーサネット ミニポートに必要です。
備考
NDIS ドライバーは、ミニポートDriverCharacteristics パラメーター内の NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体へのポインターを渡します。NdisMRegisterMiniportDriver 関数を します。 ミニポート ドライバーは、DriverEntry ルーチンから NdisMRegisterMiniportDriver を呼び出します (NDIS ミニポート ドライバー の DriverEntry参照)。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ヘッダー | ndis.h (Ndis.h を含む) |
関連項目
ミニポートCancelDirectOidRequest ミニポートDevicePnPEventNotifyミニポートDriverUnload を する
ミニポートResetEx の
ミニポートの 開始
ミニポートReturnNetBufferListsNdisMRegisterMiniportDriver の