次の方法で共有


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 の値に依存する中固有のデータ 含むバッファーへのポインター。

たとえば、StatusCodeNDIS_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 を する必要があります。

この場合、ドライバーは、DestinationHandleRequestId メンバーをそれぞれ、NDIS_OID_REQUEST 構造体の RequestHandle および RequestId メンバーの値に設定します。

たとえば、ワイヤレス ネットワークでは、OID 要求の処理が完了するまでに非常に長い時間がかかる場合があります。 この場合、ミニポート ドライバーは、OID 要求をすぐに完了し、後で OID 要求の最終的な結果を提供する状態を示します。

プロトコル ドライバーは、ProtocolStatusEx 関数で状態表示を受け取ります。 フィルター ドライバーは、FilterStatus 関数で状態表示を受け取ります。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ヘッダー ndis.h (Ndis.h を含む)

関連項目

FilterAttach

FilterStatus

ミニポートInitializeEx

NDIS_LINK_STATE

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_STATUS_LINK_STATE

NDIS_TAPI_EVENT

NdisFindicateStatus

NdisMIndicateStatusEx

NdisOpenAdapterEx

OID_GEN_SUPPORTED_GUIDS

ProtocolStatusEx