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或相应的错误代码。
注解
在微型驱动程序收到来自网络提供程序的 KSMETHODSETID_BdaChangeSync 方法集的KSMETHOD_BDA_GET_CHANGE_STATE请求后,BDA 微型驱动程序调用 BdaGetChangeState 函数来检索 BDA 拓扑的当前更改状态。 BDA 微型驱动程序定义调度表和筛选器自动化表,以便这些微型驱动程序可以直接调度 BdaGetChangeState 函数,或者使用内部方法截获此请求 (KStrMethodHandler) ,后者随后调用 BdaGetChangeState 函数。 例如,截获此请求的 BDA 微型驱动程序可以从传递的 IRP 获取指向 BDA 筛选器的指针,以便它们可以:
不仅检查挂起的拓扑更改,还针对筛选器上的挂起更改。
返回 BDA 拓扑和 BDA 筛选器的当前更改状态。
有关详细信息 ,请参阅定义自动化表 和 更改 BDA 筛选器属性 。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | bdasup.h (包括 Bdasup.h) |
Library | Bdasup.lib |
IRQL | PASSIVE_LEVEL |