<Return[A]><Top>

acmFormatEnum

Declare Function Api_acmFormatEnum& Lib "msacm32" Alias "acmFormatEnumA" (ByVal had&, ByRef pafd As ACMFORMATDETAILSA, ByVal fnCallback&, ByRef dwInstance&, ByVal fdwEnum&)

Declare Function acmFormatEnum Lib "msacm32" Alias "acmFormatEnumA" (ByVal had As Long, ByRef pafd As ACMFORMATDETAILSA, ByVal fnCallback As Long, ByRef dwInstance As Long, ByVal fdwEnum As Long) As Long

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

パラメータ

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

    は適切な ACM ドライバのうち最初のドライバの詳細を使う。
pafd
    fnCallback パラメータで指定するコールバック関数にフォーマットの詳細が渡されるときに、それを受け取る 構造体のアドレスを指定する。こ

    の構造体は、ACMFORMATDETAILS 構造体の cbStruct、pwfx および cbwfx メンバを初期化しなければならない。
    dwFormatTag メンバも WAVE_FORMAT_UNKNOWN または有効なフォーマットタグに初期化する必要がある。
fnCallback
    アプリケーション定義コールバック関数のプロシージャインスタンスアドレスを指定する。
dwInstance
    ACM フォーマットの詳細とともにコールバック関数に渡される、32 ビットのアプリケーション定義値を指定する。fdwEnum指定されたフォーマ

    ットタグに対応するフォーマットを列挙するフラグをセットする。次の値が定義されている。
    ACM_FORMATENUMF_CONVERT
        構造体の pwfx メンバが指す、 構造体が有効である。この列挙関数は、指定された pwfx フォーマットから変換できる変換先フォーマッ

        トのみを列挙する。
    ACM_FORMATENUMF_HARDWARE
        この列挙関数は、インストールされている 1 つ以上のウェーブフォームオーディオデバイスの入力フォーマットまたは出力フォーマットのう

        ち、ネイティブとしてサポートされているフォーマットだけを列挙する。このフラグによって、インストールされたウェーブフォームオーディオデバ

        イスのネイティブフォーマットだけを選ぶことができる。このフラグは、ACM_FORMATENUMF_INPUT フラグおよび

        ACM_FORMATENUMF_OUTPUT フラグのいずれか、またはその両方とともに使う。ACM_FORMATENUMF_INPUT と

        ACM_FORMATENUMF_OUTPUT の両方を設定すると、このフラグが設定されているかどうかにかかわらず、入力または出力をサポ

        ートするフォーマットが列挙される。
    ACM_FORMATENUMF_INPUT
        列挙関数は入力(レコーディング)をサポートしているフォーマットだけを列挙する。
    ACM_FORMATENUMF_NCHANNELS
        構造体の pwfx メンバが指す 構造体の nChannels メンバが有効である。この属性に準拠するフォーマットのみが列挙される。
    ACM_FORMATENUMF_NSAMPLESPERSEC
        構造体の pwfx メンバが指す 構造体の nSamplesPerSec メンバが有効である。この属性に準拠するフォーマットのみが列挙される。
    ACM_FORMATENUMF_OUTPUT
        列挙関数は出力(再生)をサポートしているフォーマットのみが列挙される。
    ACM_FORMATENUMF_SUGGEST
        構造体の pwfx メンバが指す 構造体が有効である。指定された pwfx フォーマットに対応する変換先フォーマットのうち、推奨されるもの

        がすべて列挙される。acmFormatSuggest 関数の代わりにこのメカニズムを使うと、アプリケーションは変換に最適なフォーマットを選ぶこ

        とができる。dwFormatIndex メンバの戻り値は、常に 0 に設定される。
    ACM_FORMATENUMF_WBITSPERSAMPLE
        ACMFORMATDETAILS 構造体の pwfx メンバが指す WAVEFORMATEX 構造体の wBitsPerSample メンバが有効である。この属

        性に準拠するフォーマットのみが列挙される。
    ACM_FORMATENUMF_WFORMATTAG
        ACMFORMATDETAILS 構造体の pwfx メンバが指す WAVEFORMATEX 構造体の wFormatTag メンバが有効である。この属性に

        準拠するフォーマットのみが列挙される。ACMFORMATDETAILS 構造体の dwFormatTag メンバは wFormatTag と等しくなければな

        らない。

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

    値                                               

説明                                                  

    ACMERR_NOTPOSSIBLE

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

    MMSYSERR_INVALFLAG

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

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

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

 

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

    されない。