IAudioProcessingObjectConfiguration::LockForProcess method (audioenginebaseapo.h)

The LockForProcess method is used to verify that the APO is locked and ready to process data.

Syntax

HRESULT LockForProcess(
  [in] UINT32                    u32NumInputConnections,
  [in] APO_CONNECTION_DESCRIPTOR **ppInputConnections,
  [in] UINT32                    u32NumOutputConnections,
  [in] APO_CONNECTION_DESCRIPTOR **ppOutputConnections
);

Parameters

[in] u32NumInputConnections

Number of input connections that are attached to this APO.

[in] ppInputConnections

Connection descriptor for each input connection that is attached to this APO.

[in] u32NumOutputConnections

Number of output connections that are attached to this APO.

[in] ppOutputConnections

Connection descriptor for each output connection that is attached to this APO.

Return value

The LockForProcess method returns a value of S_OK if the call is completed successfully. At this stage, the APO is locked and is ready to process data.

Return code Description
E_POINTER
Invalid pointer was passed to function.
APOERR_INVALID_CONNECITON_FORMAT
Invalid connection format.
APOERR_NUM_CONNECTIONS_INVALID
Number of input or output connections not valid on this APO.
APOERR_APO_LOCKED
APO is already locked.
Other HRESULTS
These failures will be tracked by the audio engine.

Remarks

When the LockForProcess method is called, it first performs an internal check to see if the APO has been initialized and is ready to process data. Each APO has different initialization requirements so each APO must define its own Initialize method if needed.

Requirements

Requirement Value
Minimum supported client Available with Windows Vista and later versions of the Windows operating system.
Target Platform Universal
Header audioenginebaseapo.h
Library Audioenginebaseapo.idl
IRQL All levels