Freigeben über


IAudioInputEndpointRT::GetInputDataPointer-Methode (audioengineendpoint.h)

Die GetInputDataPointer-Methode ruft einen Zeiger auf den Puffer ab, aus dem daten vom Audiomodul gelesen werden.

Syntax

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

Parameter

[in, out] pConnectionProperty

Ein Zeiger auf eine APO_CONNECTION_PROPERTY-Struktur .

Der Aufrufer legt die Memberwerte wie folgt fest:

  • pBuffer ist auf NULL festgelegt.
  • u32ValidFrameCount enthält die Anzahl der Frames, die sich im abgerufenen Datenzeiger befinden müssen. Das Endpunktobjekt darf diese Informationen nicht zwischenspeichern. Die Audio-Engine kann diese Zahl abhängig von ihren Verarbeitungsanforderungen ändern.
  • u32BufferFlags ist auf BUFFER_INVALID festgelegt.
Wenn dieser Aufruf erfolgreich abgeschlossen wurde, muss der Endpunkt die Memberwerte wie folgt festlegen:
  • pBuffer verweist auf den gültigen Arbeitsspeicher, in dem die Daten gelesen wurden. Dies kann die Stille einschließen, abhängig von den Flags, die im u32BufferFlags-Element festgelegt wurden.
  • u32ValidFrameCount ist unverändert.
  • u32BufferFlags ist auf BUFFER_VALID festgelegt, wenn der Datenzeiger gültige Daten enthält, oder auf BUFFER_SILENT , wenn der Datenzeiger nur unbeaufsichtigte Daten enthält. Die Daten im Puffer müssen eigentlich nicht still sein, aber der in pBuffer angegebene Puffer muss in der Lage sein, alle in u32ValidFrameCount enthaltenen Frames der Stille zu halten, um der erforderlichen Frameanzahl zu entsprechen.

[in, out] pAeTimeStamp

Ein Zeiger auf eine AE_CURRENT_POSITION-Struktur , die den Zeitstempel der Daten enthält, die im Puffer erfasst werden. Dieser Parameter ist optional.

Rückgabewert

Keine

Bemerkungen

Diese Methode gibt einen Zeiger vom Endpunkt auf den Puffer pConnectionProperty-pBuffer> zurück, der Daten enthält, die als Eingabe an die Engine übergeben werden müssen. Die Daten und der Pufferzeiger müssen gültig bleiben, bis die IAudioInputEndpointRT::ReleaseInputDataPointer-Methode aufgerufen wird. Das Endpunktobjekt muss die angeforderte Menge an Informationen festlegen und Stille einfügen, wenn keine gültigen Daten vorhanden sind. Der vom Endpunktobjekt zurückgegebene Pufferzeiger pConnectionProperty-pBuffer> muss framebündig sein. Endpunkte unterstützen den zusätzlichen Speicherplatz nicht, der möglicherweise im APO_CONNECTION_PROPERTY verfügbar ist, der den Verbindungseigenschaften zugeordnet ist, die im pConnectionProperty-Parameter übergeben werden.

Das Übergeben von null im u32ValidFrameCount-Member ist eine gültige Anforderung. In diesem Fall muss der Eingabezeiger gültig sein, aber der Endpunkt liest nicht aus diesem. Der pConnectionProperty-u32ValidFrameCount-Wert> muss kleiner oder gleich der maximalen Frameanzahl sein, die vom Endpunkt unterstützt wird. Um die unterstützte Anzahl von Frames abzurufen, rufen Sie die IAudioEndpoint::GetFramesPerPacket-Methode auf.

Diese Methode kann aus einem Echtzeitverarbeitungsthread aufgerufen werden. Die Implementierung dieser Methode darf weder blockieren, auf ausgelagerten Arbeitsspeicher zugreifen noch blockierende Systemroutinen aufrufen.

Die Remotedesktopdienste-AudioEndpoint-API ist für die Verwendung in Remotedesktopszenarien vorgesehen. es ist nicht für Clientanwendungen vorgesehen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Unterstützte Mindestversion (Server) Windows Server 2008 R2
Zielplattform Windows
Kopfzeile audioengineendpoint.h

Weitere Informationen

IAudioInputEndpointRT