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

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 に設定する必要があります。

MiniportCheckForHangEx は、バッテリ寿命への影響のため、AOAC デバイスでは禁止されているため、これらのデバイスのミニポート ドライバーは、このエントリ ポイントを NULL に設定する必要があります。

ミニポートCheckForHangEx は、非 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 を含む)

こちらもご覧ください

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

ミニポートShutdownEx

NdisMRegisterMiniportDriver