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

ACMFORMATENUMCBA

コールバック

シグネチャ

BOOL ACMFORMATENUMCBA(
    HACMDRIVERID hadid,
    ACMFORMATDETAILSA* pafd,
    UINT_PTR dwInstance,
    DWORD fdwSupport
);

パラメーター

フィールド型説明
hadidHACMDRIVERIDACM ドライバー識別子へのハンドルです。
pafdACMFORMATDETAILSA*フォーマットタグについて列挙されたフォーマットの詳細を格納する ACMFORMATDETAILS 構造体へのポインターです。
dwInstanceUINT_PTRacmFormatEnum 関数で指定された、アプリケーション定義の値です。
fdwSupportDWORD

ACMDRIVERDETAILS 構造体で識別されるドライバーに固有のドライバーサポートフラグですが、列挙されているフォーマットに固有のものです。このパラメーターには次の値の組み合わせを指定でき、ドライバーがそのフォーマットタグに対してどの操作をサポートしているかを示します。

値 意味
ACMDRIVERDETAILS_SUPPORTF_ASYNC ドライバーは、指定されたフィルタータグでの非同期変換をサポートします。
ACMDRIVERDETAILS_SUPPORTF_CODEC ドライバーは、指定されたフォーマットについて、異なる 2 つのフォーマットタグ間の変換をサポートします。たとえば、指定されたフォーマットで WAVE_FORMAT_PCM から WAVE_FORMAT_ADPCM への圧縮をサポートする場合、このフラグが設定されます。
ACMDRIVERDETAILS_SUPPORTF_CONVERTER ドライバーは、指定されたフォーマットを使用して、同じフォーマットタグの異なるフォーマット間の変換をサポートします。たとえば、WAVE_FORMAT_PCM から指定されたフォーマットへのリサンプリングをサポートする場合、このフラグが設定されます。
ACMDRIVERDETAILS_SUPPORTF_FILTER ドライバーは、指定されたフォーマットでのフィルター (フォーマット属性を変更せずにデータを加工する処理) をサポートします。たとえば、WAVE_FORMAT_PCM に対する音量やエコーの操作をサポートする場合、このフラグが設定されます。
ACMDRIVERDETAILS_SUPPORTF_HARDWARE ドライバーは、波形オーディオデバイスを介して、指定されたフォーマットタグのハードウェア入力、出力、またはその両方をサポートします。アプリケーションは、acmMetrics 関数に ACM_METRIC_HARDWARE_WAVE_INPUT および ACM_METRIC_HARDWARE_WAVE_OUTPUT のメトリックインデックスを指定して、対応する ACM ドライバーに関連付けられた波形オーディオデバイスの識別子を取得してください。

公式ドキュメント

acmFormatEnumCallback 関数は、acmFormatEnum 関数と共に使用されるコールバック関数を指定します。acmFormatEnumCallback という名前は、アプリケーション定義の関数名のプレースホルダーです。

戻り値

コールバック関数は、列挙を継続する場合は TRUE を、列挙を停止する場合は FALSE を返す必要があります。

解説(Remarks)

列挙するフォーマットが存在しない場合、acmFormatEnum 関数は MMSYSERR_NOERROR (0) を返します。さらに、コールバック関数は呼び出されません。

コールバック関数の内部から次の関数を呼び出さないでください。acmDriverAdd、acmDriverRemove、acmDriverPriority。

メモ

msacm.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または Unicode 版を自動的に選択するエイリアスとして ACMFORMATENUMCB を定義しています。エンコーディング中立のエイリアスの使用と、エンコーディング中立でないコードを混在させると、不一致が生じてコンパイルエラーや実行時エラーを引き起こす可能性があります。詳細については、「関数プロトタイプの規則」を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)