Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die AllocateAudioBufferWithNotification
-Methode weist einen zyklischen Puffer für Audiodaten zu, wenn Sie die DMA-gesteuerte Ereignisbenachrichtigung implementieren möchten. Wenn Sie keine Ereignisbenachrichtigung wünschen, müssen Sie IMiniportWaveRTStream::AllocateAudioBufferverwenden.
Syntax
NTSTATUS AllocateBufferWithNotification(
[in] ULONG NotificationCount,
[in] ULONG RequestedSize,
[out] PMDL *AudioBufferMdl,
[out] ULONG *ActualSize,
[out] ULONG *OffsetFromFirstPage,
[out] MEMORY_CACHING_TYPE *CacheType
);
Parameter
[in] NotificationCount
Gibt die Anzahl der pro Pufferzyklus benötigten Benachrichtigungen an. Gültige Werte sind 1 oder 2, wobei 1 eine einzelne Benachrichtigung am Ende des zyklischen Puffers angibt und 2 zwei Benachrichtigungen pro Pufferzyklus angibt, eine an der Mitte des Puffers und eine am Ende.
[in] RequestedSize
Gibt die angeforderte Größe des Audiopuffers in Bytes an.
[out] AudioBufferMdl
Ausgabezeiger für eine Speicherbeschreibungsliste (MDL-), die den Audiopuffer beschreibt. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Methode einen Zeiger auf die MDL schreibt.
[out] ActualSize
Ausgabezeiger für die tatsächliche Größe des zugeordneten Puffers in Bytes. Dieser Parameter verweist auf eine ULONG-Variable, in die die Methode den Größenwert schreibt.
[out] OffsetFromFirstPage
Ausgabezeiger für den Offset (in Byte) des Puffers vom Anfang der ersten Seite in der MDL. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene ULONG-Variable, in die die Methode den Offsetwert schreibt.
[out] CacheType
Gibt den Zwischenspeicherungstyp an, den der Client für den Audiopuffer anfordert. Dieser Parameter ist ein MEMORY_CACHING_TYPE Enumerationswert.
Rückgabewert
AllocateBufferWithNotification
gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlerstatuscode zurück. In der folgenden Tabelle sind einige der möglichen Fehlerstatuscodes aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Der Treiber unterstützt nicht die angegebene Kombination von Pufferattributen. |
|
Es ist nicht genügend Arbeitsspeicher verfügbar, um den Puffer zuzuweisen. |
|
Das Gerät ist nicht bereit. |
Bemerkungen
AllocateBufferWithNotification
-Methode auf, um einen zyklischen Puffer zuzuweisen, den der Porttreiber später dem virtuellen Adressraum des Clients zuordnen kann.
AllocateBufferWithNotification
funktioniert ähnlich wie IMiniportWaveRTStream::AllocateAudioBuffer. Darüber hinaus identifiziert AllocateBufferWithNotification
den WaveRT-Porttreiber, dass die DMA-gesteuerte Ereignisbenachrichtigung gesucht wird, und gibt an, wie viele Benachrichtigungen pro Zyklus des zyklischen Puffers erforderlich sind.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Windows-Betriebssystemen. |
Zielplattform- | Universal |
Header- | portcls.h |
IRQL- | Passive Ebene. |
Siehe auch
IMiniportWaveRTStream::AllocateAudioBuffer
IMiniportWaveRTStreamNotification