NDIS_MINIPORT_DRIVER_CHARACTERISTICS構造体 (ndis.h)
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構造体。 Header が指定する構造体の Type メンバーを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
NDIS 6.1 の DirectOidRequestHandler メンバーと CancelDirectOidRequestHandler メンバーを追加しました。
[サイズ] メンバーを [NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2] に設定します。
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1
NDIS 6.0 の元のバージョン。
[サイズ] メンバーを [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
呼び出し元の MiniportSetOptions 関数の エントリ ポイント。
Co-NDIS に必要です。 PCI 経由で MSI-C を使用する RSS をサポートするイーサネット ミニポート ドライバーに推奨されます。
InitializeHandlerEx
必須。 のエントリ ポイント MiniportInitializeEx 関数。
HaltHandlerEx
必須。 MiniportHaltEx 関数のエントリ ポイント。
UnloadHandler
必須。 のエントリ ポイント MiniportDriverUnload 関数。
PauseHandler
必須。 MiniportPause 関数のエントリ ポイント。
RestartHandler
必須。 MiniportRestart 関数のエントリ ポイント。
OidRequestHandler
MiniportOidRequest 関数のエントリ ポイント。 すべてのイーサネット、WLAN、IM ドライバーを含むすべての接続レス ミニポート ドライバーに必要です。 一部の CoNDIS ミニポート ドライバーでは省略可能です。
SendNetBufferListsHandler
必須。 のエントリ ポイント MiniportSendNetBufferLists 関数。
ReturnNetBufferListsHandler
必須。 のエントリ ポイント MiniportReturnNetBufferLists 関数。
CancelSendHandler
必須。 MiniportCancelSend 関数のエントリ ポイント。
CheckForHangHandlerEx
省略可能。 のエントリ ポイント MiniportCheckForHangEx 関数。
MiniportCheckForHangEx は、中間ドライバーまたは仮想ミニポートには必要ありません。これは、ハングする可能性のある物理デバイスではないので、このエントリ ポイントを NULL に設定する必要があります。
バッテリ寿命への影響により、AOAC デバイスでは MiniportCheckForHangEx が禁止されているため、これらのデバイスのミニポート ドライバーでは、このエントリ ポイントを NULL に設定する必要があります。
MiniportCheckForHangEx は、バッテリ寿命への影響により、AOAC 以外のバッテリ駆動デバイスにインストールされることを意図したミニポート ドライバーでは推奨されないため、このエントリ ポイントを NULL に設定する必要があります。
MiniportCheckForHangEx は許可されていますが、ライン電源 (メイン電源) デバイスにインストールすることを目的としたミニポート ドライバーには必要ありません。 NDIS 6.30 以降を対象とするドライバーの場合は、代わりに NdisMResetMiniport の使用を検討してください。
ResetHandlerEx
省略可能 ( CheckForHangHandlerEx を指定する場合は必須)。 MiniportResetEx 関数のエントリ ポイント。 中間ドライバーには MiniportResetEx は必要ないため、このエントリ ポイントを NULL に設定する必要があります。
DevicePnPEventNotifyHandler
必須。 のエントリ ポイント MiniportDevicePnPEventNotify 関数。
ShutdownHandlerEx
必須。 MiniportShutdownEx 関数のエントリ ポイント。
CancelOidRequestHandler
必須。 のエントリ ポイント MiniportCancelOidRequest 関数。
DirectOidRequestHandler
のエントリ ポイント MiniportDirectOidRequest 関数。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが直接 OID 要求を処理しない場合は、このメンバーを NULL に 設定します。
イーサネットの場合は省略可能。ただし、いずれかが指定されている場合は、両方を指定する必要があります。
RDMA または IPSec オフロードを実装する WLAN およびイーサネット ミニポートに必要です。
CancelDirectOidRequestHandler
のエントリ ポイント MiniportCancelDirectOidRequest 関数。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが直接 OID 要求を処理しない場合は、このメンバーを NULL に 設定します。
イーサネットの場合は省略可能。ただし、いずれかが指定されている場合は、両方を指定する必要があります。
RDMA または IPSec オフロードを実装する WLAN およびイーサネット ミニポートに必要です。
SynchronousOidRequestHandler
のエントリ ポイント MiniportSynchronousOidRequest 関数。 これは省略可能なエントリ ポイントです。 ミニポート ドライバーが同期 OID 要求を処理しない場合は、このメンバーを NULL に 設定します。
RSSv2 を実装する WLAN およびイーサネット ミニポートに必要です。
注釈
NDIS ドライバーは、 の MiniportDriverCharacteristics パラメーター内のNDIS_MINIPORT_DRIVER_CHARACTERISTICS構造体へのポインターを渡します。 NdisMRegisterMiniportDriver 関数。 ミニポート ドライバーは、その DriverEntry ルーチンから NdisMRegisterMiniportDriver を呼び出します (「NDIS ミニポート ドライバーの DriverEntry」も参照してください)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |