次の方法で共有


BdaGetChangeState 関数 (bdasup.h)

BdaGetChangeState 関数は、BDA トポロジの現在の変更状態を返します。

構文

NTSTATUS BdaGetChangeState(
  [in]            PIRP              pIrp,
  [out, optional] PBDA_CHANGE_STATE pChangeState
);

パラメーター

[in] pIrp

現在の変更状態を取得する要求の IRP を指します。 BDA ミニドライバーは、 KSMETHOD_BDA_GET_CHANGE_STATE 要求でこの IRP を受け取ります。

[out, optional] pChangeState

BDA トポロジの現在の変更状態を受け取る変数を指します。 BDA の変更状態には、 BDA_CHANGE_STATE 列挙型の次のいずれかの値を指定できます。

説明
BDA_CHANGES_COMPLETE BDA トポロジの変更は完了です。
BDA_CHANGES_PENDING BDA トポロジの変更は保留中です。

戻り値

STATUS_SUCCESSまたは適切なエラー コードを返します。

注釈

BDA ミニドライバーは、BdaGetChangeState 関数を呼び出して、ミニドライバーがネットワーク プロバイダーから設定されたKSMETHODSETID_BdaChangeSync メソッドのKSMETHOD_BDA_GET_CHANGE_STATE要求を受信した後、BDA トポロジの現在の変更状態を取得します。 BDA ミニドライバーは、ディスパッチ テーブルとフィルターオートメーション テーブルを定義して、それらのミニドライバーが BdaGetChangeState 関数を直接ディスパッチするか、内部メソッド (KStrMethodHandler) を使用してこの要求をインターセプトし、 BdaGetChangeState 関数を呼び出すようにします。 たとえば、この要求をインターセプトする BDA ミニドライバーは、渡された IRP から BDA フィルターへのポインターを取得して、次のことができるようにします。

  • 保留中のトポロジ変更のチェックだけでなく、フィルターの保留中の変更にも適用されます。

  • BDA トポロジと BDA フィルターの両方の現在の変更状態を返します。

詳細については、「 自動化テーブルの定義 」および 「BDA フィルターのプロパティの変更 」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header bdasup.h (Bdasup.h を含む)
Library Bdasup.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

BDA_CHANGE_STATE

KSMETHODSETID_BdaChangeSync

KSMETHOD_BDA_GET_CHANGE_STATE

KStrMethodHandler