EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// acxelements.h

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION EvtAcxStreamaudioengineAssignCurrentWritePosition;

NTSTATUS EvtAcxStreamaudioengineAssignCurrentWritePosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  ULONG Position
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-acxelements-evt_acx_streamaudioengine_assign_current_write_position)

Description

The EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION callback function is implemented by the driver and is called when the current write position for the specified stream audio engine is set.

Parameters

StreamAudioEngine

An existing, initialized, ACXSTREAMAUDIOENGINE object. For more information about ACX objects, see Summary of ACX Objects.

Position

The current write position for the ACXSTREAMAUDIOENGINE object in bytes. For more information on the position value, see KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION.

Return value

Returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code. For more information, see Using NTSTATUS Values.

Remarks

Example

Example usage is shown below.

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION     CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition(
    _In_    ACXSTREAMAUDIOENGINE    StreamAudioEngine,
    _In_    ULONG                   Position
)
{
    NTSTATUS status = STATUS_INVALID_PARAMETER;
    ACXSTREAM stream;
    PCODEC_STREAM_CONTEXT ctx;
    CRenderStreamEngine * streamEngine = NULL;

    PAGED_CODE();

    stream = AcxStreamAudioEngineGetStream(StreamAudioEngine);
    if (stream)
    {
        ctx = GetCodecStreamContext(stream);

        streamEngine = static_cast<CRenderStreamEngine*>(ctx->StreamEngine);

        status = streamEngine->SetCurrentWritePosition(Position);
    }

    return status;
}

ACX requirements

Minimum ACX version: 1.0

For more information about ACX versions, see ACX version overview.

See also