PREGISTER_NOTIFICATION_EVENT Rückruffunktion (hdaudio.h)
Die RegisterNotificationEvent-Routine registriert ein Kernelereignis, damit es DMA-Statusbenachrichtigungen empfangen kann.
Der Funktionszeigertyp für eine RegisterNotificationEvent-Routine ist wie folgt definiert.
Syntax
PREGISTER_NOTIFICATION_EVENT PregisterNotificationEvent;
NTSTATUS PregisterNotificationEvent(
[in] PVOID _context,
[in] HANDLE Handle,
[in] PKEVENT NotificationEvent
)
{...}
Parameter
[in] _context
Gibt den Kontextwert aus dem Context-Element der HDAUDIO_BUS_INTERFACE_V2-Struktur an.
[in] Handle
Handle, das die DMA-Engine identifiziert. Dieser Handlewert wurde aus einem vorherigen Aufruf von AllocateCaptureDmaEngine oder AllocateRenderDmaEngine abgerufen.
[in] NotificationEvent
Ein Zeiger auf ein Kernelereignis, das benachrichtigt werden muss, wenn DMA voranschreitet. Abhängig vom Benachrichtigungsanzahlparameter, der mit AllocateDmaBufferWithNotification verwendet wird, wird das registrierte Ereignis für jedes Mal, wenn der DMA den Audiopuffer durchläuft, ein- oder zweimal signalisiert.
Rückgabewert
RegisterNotificationEvent gibt STATUS_SUCCESS zurück, wenn der Aufruf das Ereignis erfolgreich registriert. Andernfalls gibt die Routine STATUS_INSUFFICIENT_RESOURCES zurück, um anzugeben, dass nicht genügend Ressourcen zum Abschließen des Vorgangs verfügbar sind.
Hinweise
RegisterNotificationEvent registriert ein Kernelereignis beim HD Audio Bus-Treiber. Der HD Audio Bus-Treiber verwaltet eine Liste mit registrierten Benachrichtigungsereignissen für jede DMA-Engine und signalisiert sie jedes Mal, wenn die Engine einen IOC-Interrupt empfängt. Ereignisse werden mithilfe von UnregisterNotificationEvent nicht registriert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und späteren Windows-Versionen. |
Zielplattform | Desktop |
Kopfzeile | hdaudio.h (hdaudio.h einschließen) |
IRQL | PASSIVE_LEVEL |