<Return[A]><Top>

acmFilterEnum

Declare Function Api_acmFilterEnum& Lib "msacm32" Alias "acmFilterEnumA" (ByVal had&, ByRef pafd As ACMFILTERDETAILSA, ByVal fnCallback&, ByRef dwInstance&, ByVal fdwEnum&)

Declare Function acmFilterEnum Lib "msacm32" Alias "acmFilterEnumA" (ByVal had As Long, ByRef pafd As ACMFILTERDETAILSA, ByVal fnCallback As Long, ByRef dwInstance As Long, ByVal fdwEnum As Long) As Long

ACM ドライバから指定されたフィルタタグに利用可能なウェーブオーディオフィルタを列挙する。この関数は、適切なフィルタタグがすべて列挙されるか、コールバック関数が FALSE を返まで列挙を続ける。

パラメータ

had
    フィルタタグのウェーブフォームオーディオフィルタの詳細を照会するための、ACM ドライバのハンドルを指定する。このパラメータに NULL を

    指定すると、ACM は適切な ACM ドライバのうち、最初のドライバの詳細を使う。
pafd
    指定されたフィルタタグのフィルタの詳細を受け取る、 構造体のアドレスを指定する。

fdwDetails
    詳細の取得に関するフラグを設定する。次の値が定義されている。
    ACM_FILTERDETAILSF_FILTER
        構造体の pwfltr メンバが指す 構造体が指定され、格納されている詳細が返される。ACMFILTERDETAILS 構造体の dwFilterTag

        ンバは、pwfltr メンバが指定するものと同じフィルタタグに初期化されなければならない。この照会タイプを使って、任意のフィルタ構造体

        の文字列記述を取得することができる。had パラメータに ACM ドライバハンドルを指定した場合、そのドライバのフィルタについての詳細

        が返される。had パラメータに NULL を指定した場合は、ACM は最初に検索された適切なドライバの詳細を返す。
    ACM_FILTERDETAILSF_INDEX
        フィルタタグのフィルタインデックスが ACMFILTERDETAILS 構造体の dwFilterIndex メンバで指定されている。フィルタの詳細は pafd

        パラメータで定義された構造体に渡される。インデックスの範囲は、0〜フィルタタグに対応して ACMFILTERTAGDETAILS 構造体で

        返される cStandardFilters メンバ -1 である。このフラグを設定してフィルタの詳細を取得するときは、アプリケーションは had パラメータに

        ドライバハンドルを指定しなければならない。

戻り値
    関数が成功すると 0、失敗するとエラーが返る。返されるエラー値は次のとおりである。

    値                                               

説明                                                  

    ACMERR_NOTPOSSIBLE

フィルタの詳細を返すことができない。

    MMSYSERR_INVALFLAG

少なくとも 1 つのフラグが無効である。

    MMSYSERR_INVALHANDLE

指定されたハンドルは無効である。

    MMSYSERR_INVALPARAM

少なくとも 1 つのパラメータが無効である。

 

解説
    適切な ACM ドライバがインストールされていない場合、acmFilterEnum 関数は MMSYSERR_NOERROR(0)を返す。また、コールバック

    関数は呼び出されない。
    acmDriverAdd 関数、acmDriverRemove 関数および acmDriverPriority 関数はコールバック関数内から呼び出さないようにする。