BdaGetChangeState function (bdasup.h)
The BdaGetChangeState function returns the current change state of BDA topology.
Syntax
NTSTATUS BdaGetChangeState(
[in] PIRP pIrp,
[out, optional] PBDA_CHANGE_STATE pChangeState
);
Parameters
[in] pIrp
Points to the IRP for the request to get the current change state. The BDA minidriver receives this IRP with the KSMETHOD_BDA_GET_CHANGE_STATE request.
[out, optional] pChangeState
Points to a variable that receives the current change state of BDA topology. The BDA change state can be one of the following values from the BDA_CHANGE_STATE enumerated type:
Value | Description |
---|---|
BDA_CHANGES_COMPLETE | BDA topology changes are complete. |
BDA_CHANGES_PENDING | BDA topology changes are pending. |
Return value
Returns STATUS_SUCCESS or an appropriate error code.
Remarks
A BDA minidriver calls the BdaGetChangeState function to retrieve the current change state of BDA topology after the minidriver receives a KSMETHOD_BDA_GET_CHANGE_STATE request of the KSMETHODSETID_BdaChangeSync method set from the network provider. BDA minidrivers define dispatch and filter-automation tables so that those minidrivers either dispatch the BdaGetChangeState function directly or intercept this request using an internal method (KStrMethodHandler), which then calls the BdaGetChangeState function. For example, BDA minidrivers that intercept this request can obtain a pointer to the BDA filter from the passed IRP so that they can:
Not only check for pending topology changes but also for pending changes on the filter.
Return the current change state for both BDA topology and the BDA filter.
See Defining Automation Tables and Changing BDA Filter Properties for more information.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | bdasup.h (include Bdasup.h) |
Library | Bdasup.lib |
IRQL | PASSIVE_LEVEL |