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

See also

BDA_CHANGE_STATE

KSMETHODSETID_BdaChangeSync

KSMETHOD_BDA_GET_CHANGE_STATE

KStrMethodHandler