função de retorno de chamada EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION (acxelements.h)
A função de retorno de chamada EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION é implementada pelo driver e é chamada para recuperar a posição atual dentro dos dados de áudio que estão sendo renderizados no nó do mecanismo de áudio de fluxo.
Sintaxe
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;
NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
PULONGLONG PositionInBlocks,
PULONGLONG QPCPosition
)
{...}
Parâmetros
StreamAudioEngine
Um objeto ACXSTREAMAUDIOENGINE existente, inicializado. Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.
PositionInBlocks
Especifica o deslocamento de bloco do início do fluxo para a posição pós-decodificada e descompactada atual no fluxo. Consulte KSAUDIO_PRESENTATION_POSITION estrutura para obter mais informações sobre esse valor.
QPCPosition
Especifica o valor do contador de desempenho no momento em que o driver de áudio lê a posição da apresentação em resposta ao retorno de chamada. Consulte KSAUDIO_PRESENTATION_POSITION estrutura para obter mais informações sobre esse valor.
Retornar valor
Retorna STATUS_SUCCESS
se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.
Comentários
Exemplo
O uso de exemplo é mostrado abaixo.
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition;
NTSTATUS
CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition(
_In_ ACXSTREAMAUDIOENGINE StreamAudioEngine,
_Out_ PULONGLONG PositionInBlocks,
_Out_ PULONGLONG QPCPosition
)
{
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->GetPresentationPosition(PositionInBlocks, QPCPosition);
}
return status;
}
Requisitos do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxelements.h |
IRQL | PASSIVE_LEVEL |