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

ACMFILTERENUMCBA

コールバック

シグネチャ

BOOL ACMFILTERENUMCBA(
    HACMDRIVERID hadid,
    ACMFILTERDETAILSA* pafd,
    UINT_PTR dwInstance,
    DWORD fdwSupport
);

パラメーター

フィールド型説明
hadidHACMDRIVERIDACM ドライバー識別子のハンドル。
pafdACMFILTERDETAILSA*フィルタータグについて列挙されたフィルターの詳細を格納する ACMFILTERDETAILS 構造体へのポインター。
dwInstanceUINT_PTRacmFilterEnum で指定された、アプリケーション定義の値。
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 ドライバーに関連付けられた波形オーディオデバイス識別子を取得してください。

公式ドキュメント

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

戻り値

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

解説(Remarks)

列挙すべきフィルターが存在しない場合、acmFilterEnum 関数は MMSYSERR_NOERROR (ゼロ) を返します。また、その場合コールバック関数は呼び出されません。

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

メモ

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

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