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 |