Win32 API 日本語リファレンス
ホームMedia.Audio.Apo › IAudioProcessingObjectNotifications

IAudioProcessingObjectNotifications

COM
IID56b0c76f-02fd-4b21-a52e-9f8219fc86e4継承元IUnknown自前メソッド開始 vtbl3

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetApoNotificationRegistrationInfo(APO_NOTIFICATION_DESCRIPTOR** apoNotifications, DWORD* count)
apoNotificationsAPO_NOTIFICATION_DESCRIPTOR**outAPOが受信を希望する通知種別を記述するAPO_NOTIFICATION_DESCRIPTOR配列の受け取り先。CoTaskMemFreeで解放する。
countDWORD*outapoNotificationsに返された記述子の個数を受け取るDWORDポインタ。
vtbl 4 void HandleNotification(APO_NOTIFICATION* apoNotification)
apoNotificationAPO_NOTIFICATION*in発生したエンドポイントやプロパティ変更の内容を保持するAPO_NOTIFICATION構造体へのポインタ。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IAudioProcessingObjectNotifications "{56B0C76F-02FD-4B21-A52E-9F8219FC86E4}"
#usecom global IAudioProcessingObjectNotifications IID_IAudioProcessingObjectNotifications "{}"
#comfunc global IAudioProcessingObjectNotifications_GetApoNotificationRegistrationInfo  3 var,var
#comfunc global IAudioProcessingObjectNotifications_HandleNotification                  4 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。