IAudioOutputEndpointRT::ReleaseOutputDataPointer-Methode (audioengineendpoint.h)
Die ReleaseOutputDataPointer-Methode gibt den Zeiger auf den Ausgabepuffer frei.
Syntax
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
Parameter
[in] pConnectionProperty
Ein Zeiger auf eine APO_CONNECTION_PROPERTY-Struktur . Die Werte in der Struktur dürfen nicht geändert werden. Der Aufrufer legt die Member wie folgt fest:
- pBuffer wird auf den Zeiger auf den Ausgabedatenpuffer festgelegt, der von der IAudioOutputEndpointRT::GetOutputDataPointer-Methode zurückgegeben wird.
- u32ValidFrameCount ist auf die tatsächliche Anzahl von Frames festgelegt, die von der Audio-Engine generiert wurden. Der Wert ist möglicherweise nicht mit der Frameanzahl identisch, die im u32FrameCount-Parameter der GetOutputDataPointer-Methode übergeben wird.
- u32BufferFlags ist auf BUFFER_VALID festgelegt, wenn der Ausgabepuffer, auf den der pBuffer-Member verweist, gültige Daten enthält. u32BufferFlags ist auf BUFFER_SILENT festgelegt, wenn der Ausgabepuffer nur unbeaufsichtigte Daten enthält. Die Daten im Puffer müssen eigentlich nicht still sein, aber der im pBuffer-Member angegebene Puffer muss in der Lage sein, alle im u32ValidFrameCount-Member enthaltenen Ruherahmen zu halten. Wenn daher BUFFER_SILENT angegeben ist, sollte der Endpunkt im Ausgabepuffer Stille schreiben.
Rückgabewert
Keine
Bemerkungen
ReleaseOutputDataPointer benachrichtigt den Endpunkt, dass die Audio-Engine die Aufgabe zum Schreiben von Daten in den Ausgabepuffer abgeschlossen hat und den Datenzeiger nicht mehr benötigt. Diese Methode gibt auch Informationen weiter, z. B. die Zeit, die den Audiobeispielen im Ausgabepuffer entspricht, die Anzahl der von der Audio-Engine generierten Frames und ob der Puffer voll mit gültigen Daten oder Stilledaten ist. Basierend auf diesen Informationen kann ein Endpunkt, der einen Schleifenpuffer darstellt und an die Ausgabe der Audio-Engine angefügt ist, seine Schreibposition im Puffer weiter voranbringen. Der Wert null im u32FrameCount-Parameter der GetOutputDataPointer-Methode gibt an, dass die Audio-Engine keine gültigen Daten in den Ausgabepuffer geschrieben hat. Der u32FrameCount-Parameterwert muss kleiner oder gleich der in GetOutputDataPointer angegebenen Frameanzahl sein. Der Endpunkt darf nicht davon ausgehen, dass alle von GetOutputDataPointer angeforderten Daten tatsächlich generiert wurden.
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 |