NDIS_STATUS_INDICATION構造体 (ndis.h)
NDIS と基になるドライバーは、NDIS_STATUS_INDICATION構造体を使用して、上にあるプロトコル ドライバーの状態を示します。
構文
typedef struct _NDIS_STATUS_INDICATION {
NDIS_OBJECT_HEADER Header;
NDIS_HANDLE SourceHandle;
NDIS_PORT_NUMBER PortNumber;
NDIS_STATUS StatusCode;
ULONG Flags;
NDIS_HANDLE DestinationHandle;
PVOID RequestId;
PVOID StatusBuffer;
ULONG StatusBufferSize;
GUID Guid;
PVOID NdisReserved[4];
} NDIS_STATUS_INDICATION, *PNDIS_STATUS_INDICATION;
メンバーズ
Header
NDIS_STATUS_INDICATION構造体の NDIS_OBJECT_HEADER 構造体。 Header が指定 構造体の Type メンバーを NDIS_OBJECT_TYPE_STATUS_INDICATION、Revision メンバーを NDIS_STATUS_INDICATION_REVISION_1 に設定し、Size メンバーを NDIS_SIZEOF_STATUS_INDICATION_REVISION_1 に設定します。
SourceHandle
状態表示のソース。 ソースがミニポート アダプターの場合は、ミニポートInitializeEx 関数の ミニポートAdapterHandle パラメーターに NDIS が渡されたハンドルである必要があります。 ソースがフィルター モジュールの場合は、FilterAttach 関数の NdisFilterHandle パラメーターに NDIS が渡したハンドルである必要があります。
PortNumber
状態表示のソース ポート。 状態表示がポートに固有でない場合は、PortNumber を 0 に設定します。
StatusCode
状態コード。NDIS によって提供されるか、基になるドライバーから伝達されます。 この値は、NDIS_STATUS_XXX コードです。 NDIS_STATUS_XXX コードの詳細については、「ステータス表示 を参照してください。
Flags
StatusBuffer のステータス バッファー 情報の種類。 ミニポート ドライバーは、このメンバーを 0 に設定します。 このメンバーは NDIS 用に予約されています。
DestinationHandle
状態表示を受け取る必要がある、上にあるドライバーを識別するハンドル。 NULL 場合、NDIS はミニポート アダプターにバインドされている各プロトコル ドライバーの状態を示します。 以外の NULLの場合、NDIS は DestinationHandle 識別するドライバーにのみ状態を示します。 この場合、ドライバーは、RequestId メンバーも設定する必要があります。 OID 要求の詳細については、「解説」セクションを参照してください。
RequestId
状態表示に関連付けられている OID 要求。 状態表示に関連付けられている OID 要求がない場合、RequestId は NULL 。 ミニポート ドライバーは、NDIS_STATUS_INDICATION_REQUIREDの返された状態でミニポート ドライバーが完了した OID 要求に関連付けられている場合、RequestId メンバーを設定する必要があります。 この場合、ドライバーは、DestinationHandle メンバーも設定する必要があります。
OID 要求の詳細については、次の「解説」セクションを参照してください。
StatusBuffer
StatusCode の値に依存する中固有のデータ 含むバッファーへのポインター。
たとえば、StatusCode が NDIS_STATUS_LINK_STATEされている場合、このパラメーターは NDIS_LINK_STATE 構造体を指し、StatusBufferSize が sizeof(NDIS_LINK_STATE) します。
一部のNDIS_STATUS_XXX 値の場合、このポインターは NULL され、StatusBufferSize 0 に設定されます。
StatusBufferSize
StatusBuffer の状態情報バッファーの長さ (バイト単位) 指定します。
Guid
NDIS が WMI 通知を生成するために使用するプライベート GUID。 プライベート GUID の詳細については、OID_GEN_SUPPORTED_GUIDSを参照してください。
NdisReserved[4]
NDIS 用に予約されています。
備考
ミニポート ドライバーは、NdisMIndicateStatusEx 関数 呼び出すことによって状態を示します。 フィルター ドライバーは、NdisFIndicateStatus 関数を呼び出します。
一部の OID 要求では、ミニポート ドライバーを有効にして、状態を示す OID 完了状態を提供します。 この場合、ミニポート ドライバーは、OID 要求の完了状態のNDIS_STATUS_INDICATION_REQUIREDを返します。 ミニポート ドライバーは、特定の OID が許可しない限り、この状態を返すことはできません。 この状態が許可されているかどうかを確認するには、OID リファレンス ページを参照してください。
ミニポート ドライバーがNDIS_STATUS_INDICATION_REQUIRED返された OID 要求に状態表示が関連付けられている場合、状態表示を行っているドライバーは、DestinationHandle を設定し、NDIS_STATUS_INDICATION構造体のメンバー RequestId を する必要があります。
この場合、ドライバーは、DestinationHandle と RequestId メンバーをそれぞれ、NDIS_OID_REQUEST 構造体の RequestHandle および RequestId メンバーの値に設定します。
たとえば、ワイヤレス ネットワークでは、OID 要求の処理が完了するまでに非常に長い時間がかかる場合があります。 この場合、ミニポート ドライバーは、OID 要求をすぐに完了し、後で OID 要求の最終的な結果を提供する状態を示します。
プロトコル ドライバーは、ProtocolStatusEx 関数で状態表示を受け取ります。 フィルター ドライバーは、FilterStatus 関数で状態表示を受け取ります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ヘッダー | ndis.h (Ndis.h を含む) |
関連項目
NdisFindicateStatus の
NdisMIndicateStatusEx の
NdisOpenAdapterEx の