次の方法で共有


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

こちらもご覧ください

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2

UnregisterNotificationEvent