Metodo IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)

Il metodo GetInputDataPointer ottiene un puntatore al buffer da cui i dati verranno letti dal motore audio.

Sintassi

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

Parametri

[in, out] pConnectionProperty

Puntatore a una struttura APO_CONNECTION_PROPERTY .

Il chiamante imposta i valori dei membri nel modo seguente:

  • pBuffer è impostato su NULL.
  • u32ValidFrameCount contiene il numero di fotogrammi che devono trovarsi nel puntatore dati recuperato. L'oggetto endpoint non deve memorizzare nella cache queste informazioni. Il motore audio può modificare questo numero a seconda delle esigenze di elaborazione.
  • u32BufferFlags è impostato su BUFFER_INVALID.
Se la chiamata viene completata correttamente, l'endpoint deve impostare i valori dei membri come indicato di seguito:
  • pBuffer punta alla memoria valida in cui i dati sono stati letti. Ciò può includere il silenzio a seconda dei flag impostati nel membro u32BufferFlags .
  • u32ValidFrameCount è invariato.
  • u32BufferFlags è impostato su BUFFER_VALID se il puntatore dati contiene dati validi o per BUFFER_SILENT se il puntatore dati contiene solo dati invisibile all'utente. I dati nel buffer non devono effettivamente essere in silenzio, ma il buffer specificato in pBuffer deve essere in grado di contenere tutti i fotogrammi di silenzio contenuti in u32ValidFrameCount in modo che corrisponda al numero di fotogrammi richiesto.

[in, out] pAeTimeStamp

Puntatore a una struttura AE_CURRENT_POSITION che contiene il timestamp dei dati acquisiti nel buffer. Questo parametro è facoltativo e,

Valore restituito

nessuno

Osservazioni

Questo metodo restituisce un puntatore dall'endpoint al buffer pConnectionProperty-pBuffer>, che contiene dati che devono essere passati al motore come input. I dati e il puntatore del buffer devono rimanere validi finché non viene chiamato il metodo IAudioInputEndpointRT::ReleaseInputDataPointer . L'oggetto endpoint deve impostare la quantità richiesta di informazioni e inserire il silenzio se non esistono dati validi. Il puntatore del buffer, pConnectionProperty-pBuffer>, restituito dall'oggetto endpoint deve essere allineato a frame. Gli endpoint non supportano lo spazio aggiuntivo, che può essere disponibile nella APO_CONNECTION_PROPERTY associata alle proprietà di connessione passate nel parametro pConnectionProperty .

Il passaggio di zero nel membro u32ValidFrameCount è una richiesta valida. In questo caso, il puntatore di input deve essere valido, ma l'endpoint non lo legge. Il valore pConnectionProperty-u32ValidFrameCount> deve essere minore o uguale al numero massimo di fotogrammi supportato dall'endpoint. Per ottenere il numero di fotogrammi supportato, chiamare il metodo IAudioEndpoint::GetFramesPerPacket .

Questo metodo può essere chiamato da un thread di elaborazione in tempo reale. L'implementazione di questo metodo non deve bloccare, accedere alla memoria di paging o chiamare routine di sistema bloccanti.

L'API AudioEndpoint di Servizi Desktop remoto è destinata all'uso in scenari desktop remoto; non è per le applicazioni client.

Requisiti

Requisito Valore
Client minimo supportato Windows 7
Server minimo supportato Windows Server 2008 R2
Piattaforma di destinazione Windows
Intestazione audioengineendpoint.h

Vedi anche

IAudioInputEndpointRT