HDAUDIO_BUS_INTERFACE_V2 構造体 (hdaudio.h)

HDAUDIO_BUS_INTERFACE_V2構造体は、クライアントが HD Audio DDI のHDAUDIO_BUS_INTERFACE_V2 バージョンでルーチンを呼び出すために必要な情報を指定します。 この構造体で表されるインターフェイスは、 HDAUDIO_BUS_INTERFACE のすべての機能を提供し、柔軟な DMA ドリブン イベント通知をサポートすることもできます。

構文

typedef struct _HDAUDIO_BUS_INTERFACE_V2 {
  USHORT                                 Size;
  USHORT                                 Version;
  PVOID                                  Context;
  PINTERFACE_REFERENCE                   InterfaceReference;
  PINTERFACE_DEREFERENCE                 InterfaceDereference;
  PTRANSFER_CODEC_VERBS                  TransferCodecVerbs;
  PALLOCATE_CAPTURE_DMA_ENGINE           AllocateCaptureDmaEngine;
  PALLOCATE_RENDER_DMA_ENGINE            AllocateRenderDmaEngine;
  PCHANGE_BANDWIDTH_ALLOCATION           ChangeBandwidthAllocation;
  PALLOCATE_DMA_BUFFER                   AllocateDmaBuffer;
  PFREE_DMA_BUFFER                       FreeDmaBuffer;
  PFREE_DMA_ENGINE                       FreeDmaEngine;
  PSET_DMA_ENGINE_STATE                  SetDmaEngineState;
  PGET_WALL_CLOCK_REGISTER               GetWallClockRegister;
  PGET_LINK_POSITION_REGISTER            GetLinkPositionRegister;
  PREGISTER_EVENT_CALLBACK               RegisterEventCallback;
  PUNREGISTER_EVENT_CALLBACK             UnregisterEventCallback;
  PGET_DEVICE_INFORMATION                GetDeviceInformation;
  PGET_RESOURCE_INFORMATION              GetResourceInformation;
  PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION AllocateDmaBufferWithNotification;
  PFREE_DMA_BUFFER_WITH_NOTIFICATION     FreeDmaBufferWithNotification;
  PREGISTER_NOTIFICATION_EVENT           RegisterNotificationEvent;
  PUNREGISTER_NOTIFICATION_EVENT         UnregisterNotificationEvent;
} HDAUDIO_BUS_INTERFACE_V2, *PHDAUDIO_BUS_INTERFACE_V2;

メンバー

Size

HDAUDIO_BUS_INTERFACE_V2構造体のサイズをバイト単位で指定します。

Version

ベースライン HD Audio DDI のバージョンを指定します。

Context

インターフェイス固有のコンテキスト情報へのポインター。

InterfaceReference

インターフェイスの参照カウントをインクリメントするドライバー提供のルーチンへのポインター。

InterfaceDereference

インターフェイスの参照カウントをデクリメントするドライバー提供のルーチンへのポインター。

TransferCodecVerbs

TransferCodecVerbs ルーチンへの関数ポインター。

AllocateCaptureDmaEngine

AllocateCaptureDmaEngine ルーチンへの関数ポインター。

AllocateRenderDmaEngine

AllocateRenderDmaEngine ルーチンへの関数ポインター。

ChangeBandwidthAllocation

ChangeBandwidthAllocation ルーチンへの関数ポインター。

AllocateDmaBuffer

AllocateDmaBuffer ルーチンへの関数ポインター。

FreeDmaBuffer

FreeDmaBuffer ルーチンへの関数ポインター。

FreeDmaEngine

FreeDmaEngine ルーチンへの関数ポインター。

SetDmaEngineState

SetDmaEngineState ルーチンへの関数ポインター。

GetWallClockRegister

GetWallClockRegister ルーチンへの関数ポインター。

GetLinkPositionRegister

GetLinkPositionRegister ルーチンへの関数ポインター。

RegisterEventCallback

RegisterEventCallback ルーチンへの関数ポインター。

UnregisterEventCallback

UnregisterEventCallback ルーチンへの関数ポインター。

GetDeviceInformation

GetDeviceInformation ルーチンへの関数ポインター。

GetResourceInformation

GetResourceInformation ルーチンへの関数ポインター。

AllocateDmaBufferWithNotification

AllocateDmaBufferWithNotification ルーチンへの関数ポインター。

FreeDmaBufferWithNotification

FreeDmaBufferWithNotification ルーチンへの関数ポインター。

RegisterNotificationEvent

RegisterNotificationEvent ルーチンへの関数ポインター。

UnregisterNotificationEvent

UnregisterNotificationEvent ルーチンへの関数ポインター。

注釈

IRP_MN_QUERY_INTERFACE IOCTL は、この構造体を使用して、HD Audio DDI の HD オーディオ バス ドライバーに対してクエリを実行しているクライアントにインターフェイス情報を提供します。

HDAUDIO_BUS_INTERFACE_V2 構造体の最初の 5 つのメンバー (Size、Version、Context、InterfaceReference、InterfaceDereference) の名前と定義は、INTERFACE 構造体と同じです。 残りのメンバーは、ベースライン HD Audio DDI に固有であり、DDI 内のルーチンへの関数ポインターを指定します。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
Header hdaudio.h (Hdaudio.h を含む)

こちらもご覧ください

AllocateCaptureDmaEngine

AllocateDmaBuffer

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeDmaBuffer

FreeDmaBufferWithNotification

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

RegisterNotificationEvent

SetDmaEngineState

TransferCodecVerbs

UnregisterEventCallback

UnregisterNotificationEvent