次の方法で共有


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

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

AttributeFlags

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

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

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

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_NO_OID_INTERCEPT_ON_NONDEFAULT_PORTS

NDIS 6.30 以降では、ミニポート ドライバーが通常、その代わりに NDIS によってインターセプトされ、処理される既定以外のポートで OID を処理する場合、このフラグが設定されます。 これにより、既定のポート宛ての OID の動作は変更されません。

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

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

CheckForHangTimeInSeconds

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

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

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

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

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 以降でサポートされています。
ヘッダー ndis.h (Ndis.h を含む)

関連項目

ミニポート アダプターのハングチェックとリセット操作

ミニポートチェックForHangEx

ミニポートDevicePnPEventNotify

ミニポートHaltEx

ミニポートInitializeEx

ミニポートPause

ミニポートResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER