NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES構造体 (ndis.h)

NDIS ミニポート ドライバーは、ミニポート アダプターに関連付けられている登録属性を定義する NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 構造体を設定します。

構文

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE         MiniportAdapterContext;
  ULONG               AttributeFlags;
  UINT                CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

メンバー

Header

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES構造体の型、リビジョン、およびサイズ。 このメンバーは、 NDIS_OBJECT_HEADER 構造体として書式設定されます。

ミニポート ドライバーは、ヘッダー種類のメンバーをNDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTESに設定する必要があります。 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES構造体のバージョンを指定するには、ドライバーは、ヘッダーリビジョン メンバーを次のいずれかの値に設定する必要があります。

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

NDIS 6.30 の AttributeFlags フラグを追加しました。

Size メンバーをNDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2に設定します。

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

NDIS 6.0 の元のバージョン。

Size メンバーをNDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1に設定します。

MiniportAdapterContext

ミニポート ドライバーがその ミニポート初期化Ex 関数に割り当てられたコンテキスト領域へのハンドル。 ミニポート ドライバーは、ミニポート アダプターの状態情報を維持するには、このコンテキスト領域を使用します。

AttributeFlags

ビットごとの OR と組み合わされたフラグのビットマスク。 NDIS ミニポート ドライバーは、次のフラグの 1 つ以上を設定する必要があります。

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

ミニポート ドライバーが物理デバイスを直接制御する場合に設定します。 物理デバイスには、割り込み、I/O ポート、メモリ マップされた I/O、ミニポート ドライバーから要求する必要がある DMA チャネルなどのハードウェア リソースが割り当てられます。 ミニポート初期化Ex 関数。

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

ミニポート アダプターの下位レベルのインターフェイスが USB や IEEE 1394 などの WDM バス ドライバーの場合に設定します。この場合、ミニポート ドライバーは、I/O ポート、割り込み、メモリ マップ I/O、DMA チャネルなどのハードウェア リソースを割り当てません。 代わりに、ドライバーは、基になるバス ドライバーの WDM インターフェイスを介してデバイスと通信します。

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

呼び出し元の NIC がバス マスター DMA デバイスの場合に設定します。

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

システムが低電力 (スリープ) 状態に移行する前に、NDIS がミニポート ドライバーのミニポートHaltEx 関数を呼び出す必要がない場合に設定します。 ハードウェア保守状態に依存するドライバーは、このフラグを設定しないでください。

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

ミニポート ドライバーがユーザー通知なしで NIC の削除を処理できるかどうかを設定します。 NDIS ドライバーでは、驚きの削除通知を受信します。 ミニポートDevicePnPEventNotify 関数。

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

デバイスがコネクションレス デバイスであることを示すために、接続指向デバイスとコネクションレス デバイスの両方をサポートできるミニポート ドライバーによって設定されます。

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

TAPI サービスを提供しない CoNDIS ミニポート ドライバーによって設定されます。 NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO設定すると、NDIS はミニポート ドライバーを NDIS TAPI プロキシ ドライバー (NDPROXY) にバインドできなくなります。 既定では、NDIS はすべての CoNDIS ミニポート ドライバーに NDPROXY をバインドします。

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

NdisMNetPnPEvent 関数を呼び出して既定のポートをアクティブにするミニポート ドライバーによって設定されます。 NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORTが設定されていない場合、既定のポートはアクティブです。 NDIS では、既定のポートがアクティブでない場合、プロトコル ドライバーをバインドしたり、ミニポート アダプターにフィルター モジュールをアタッチしたりしません。

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

NDIS 6.30 以降では、ミニポート ドライバーが一時停止せずに低電力状態に移行できる場合、このフラグが設定されます。

このフラグの詳細については、「解説」セクションを参照してください。

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

NDIS 6.30 ミニポート以降、NDIS は、このフラグが設定されていない限り、BugCheck 中にミニポートのミニポートShutdownEx ハンドラーを呼び出しません。 ほとんどのミニポートでは、このフラグを設定しないでください。

CheckForHangTimeInSeconds

NDIS が呼び出すタイムアウト間隔 (秒単位) ミニポートチェックForHangEx 関数。 ミニポート ドライバーが OID 要求または ミニポートCheckForHangEx への 2 つの連続する呼び出し内の送信要求に応答していない場合、NDIS はミニポート ドライバーの ミニポートResetEx 関数を呼び出すことができます。

ミニポートチェックForHangEx を呼び出すときに NDIS が使用する間隔は、常に 2 秒の倍数です。 たとえば、5 秒を指定すると、間隔は約 4 秒になります。

このメンバーが 0 の場合、既定のタイムアウト間隔は 2 秒です。

メモ タイムアウト間隔は、ミニポート ドライバーの初期化時間を超える必要があります。 詳細については、「 ミニポート アダプターのチェック for ハングおよびリセット操作」を参照してください。
 

InterfaceType

ミニポート アダプターの I/O バス インターフェイスの種類。 これは通常、ミニポート アダプターが接続されている I/O バスの種類です。 NDIS 6.0 では、次の値がサポートされています。

NdisInterfaceInternal

ホスト固有の内部インターフェイスを指定します。

NdisInterfaceIsa

ISA インターフェイスを指定します。

NdisInterfaceEisa

拡張 ISA (EISA) インターフェイスを指定します。 このインターフェイスの種類は、NDIS 6.0 以降のバージョンではサポートされていません。

NdisInterfaceMca

サポートされなくなった MCA バスを参照します。 このインターフェイスの種類は、NDIS 6.0 以降のバージョンではサポートされていません。

NdisInterfaceTurboChannel

Turbo チャネル インターフェイスを指定します。

NdisInterfacePci

周辺機器コンポーネント相互接続 (PCI) インターフェイスを指定します。

NdisInterfacePcMcia

パーソナル・コンピューター・メモリー・カード国際協会 (PC カード) インターフェースを指定します。

NdisInterfaceCBus

CBus を指定します。

NdisInterfaceMPIBus

MPIBus を指定します。

NdisInterfaceMPSABus

MPSABus を指定します。

NdisInterfaceProcessorInternal

プロセッサ内部バスを指定します。

NdisInterfaceInternalPowerBus

内部電源バスを指定します。

NdisInterfacePNPISABus

PNPISABus を指定します。

NdisInterfacePNPBus

PNPBus を指定します。

このパラメーターは中間ドライバーには関係ありません。このメンバーには 0 を指定する必要があります。

注釈

ミニポート ドライバーは、の ミニポートAttributes パラメーター内のNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES構造体へのポインターを渡します。 NdisMSetMiniportAttributes 関数。 ミニポート ドライバーは、初期化中にミニポートInitializeEx 関数から NdisMSetMiniportAttributes を呼び出します。

ミニポート ドライバーは、 ミニポートInitializeEx 内でできるだけ早くNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTESに属性を設定する必要があります。 これらの属性の設定は必須です。

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND フラグ

NDIS は、基になるミニポート アダプターが D1、D2、または D3 の低電力状態に移行する前に、ミニポート ドライバーにOID_PNP_SET_POWERの OID 要求を発行します。 ドライバーは、この OID を処理するとき、下位の電源状態への移行のミニポート アダプターを準備する必要がありますし、保留中の受信パケットの兆候の完了を待つ必要はありません。

場合によっては、NDIS がミニポート ドライバーに OID_PNP_SET_POWER の OID 要求を発行する前に、NDIS は、次に説明するようにミニポート ドライバーの ミニポートPause 関数を 呼び出します。

  • NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND フラグが設定されていない場合、NDIS は、ドライバーにOID_PNP_SET_POWERの OID 要求が発行される前にミニポート ドライバーのミニポートPause 関数を呼び出します。 ミニポートPause 呼び出しのコンテキスト内では、ドライバーは保留中の受信パケットの兆候の完了を待機する必要があります。
  • NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND フラグが設定されている場合、NDIS は、ドライバーにOID_PNP_SET_POWERの OID 要求が発行される前にミニポート ドライバーのミニポートPause 関数を呼び出しません。 ミニポート ドライバーは、OID 要求を処理するときに、低電力状態への移行のミニポート アダプターを準備するときに、以前に一時停止されていたことを想定しないでください。
    メモ この例外は、NDIS 6.20 以前のバージョンの NDIS をサポートするプロトコルまたはフィルター ドライバーがミニポート アダプターにバインドまたはアタッチされている場合に発生します。 この場合、NDIS は、ミニポート ドライバーがNDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND フラグを設定するかどうかに関係なく、ミニポート ドライバーのミニポートPause 関数を呼び出します。
     

要件

   
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis.h (Ndis.h を含む)

こちらもご覧ください

ミニポート アダプターの Check-for-Hang 操作とリセット操作

ミニポートチェックForHangEx

ミニポートDevicePnPEventNotify

ミニポートHaltEx

ミニポート初期化Ex

ミニポートPause

ミニポートResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER