PREGISTER_NOTIFICATION_EVENT コールバック関数 (hdaudio.h)
RegisterNotificationEvent ルーチンは、DMA 進行状況通知を受信できるようにカーネル イベントを登録します。
RegisterNotificationEvent ルーチンの関数ポインター型は、次のように定義されます。
構文
PREGISTER_NOTIFICATION_EVENT PregisterNotificationEvent;
NTSTATUS PregisterNotificationEvent(
[in] PVOID _context,
[in] HANDLE Handle,
[in] PKEVENT NotificationEvent
)
{...}
パラメーター
[in] _context
HDAUDIO_BUS_INTERFACE_V2構造体の Context メンバーのコンテキスト値を指定します。
[in] Handle
DMA エンジンを識別するハンドル。 このハンドル値は、 AllocateCaptureDmaEngine または AllocateRenderDmaEngine の以前の呼び出しから取得されました。
[in] NotificationEvent
DMA の進行時に通知する必要があるカーネル イベントへのポインター。 AllocateDmaBufferWithNotification で使用される通知カウント パラメーターに応じて、DMA がオーディオ バッファーを通過するたびに、登録されたイベントが 1 回または 2 回通知されます。
戻り値
RegisterNotificationEvent は、呼び出しによってイベントが正常に登録された場合にSTATUS_SUCCESSを返します。 それ以外の場合、ルーチンは STATUS_INSUFFICIENT_RESOURCES を返して、操作を完了するために使用できるリソースが不足していることを示します。
注釈
RegisterNotificationEvent は、HD Audio バス ドライバーにカーネル イベントを登録します。 HD Audio バス ドライバーは、DMA エンジンごとに登録された通知イベントの一覧を保持し、エンジンが IOC 割り込みを受信するたびに通知します。 イベントは、 UnregisterNotificationEvent を使用して登録解除されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | hdaudio.h (Hdaudio.h を含む) |
IRQL | PASSIVE_LEVEL |