<Return[A]><Top>

acmDriverMessage

Declare Function Api_acmDriverMessage& Lib "msacm32" Alias "acmDriverMessage" (ByVal had&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)

Declare Function acmDriverMessage Lib "msacm32" (ByVal had As Long, ByVal uMsg As Long, ByVal lParam1 As Long, ByVal lParam2 As Long) As Long

指定された ACM ドライバインスタンスに、ユーザー定義のメッセージを送信する。

パラメータ

had
    メッセージを受け取る ACM ドライバインスタンスのハンドルを指定する。
uMsg
    ACM ドライバが処理するメッセージを指定する。このメッセージは、ACMDM_USER メッセージの範囲内(ACMDM_USER 以上、

    ACMDM_RESERVED_LOW 未満)でなければならない。ただし、ACMDM_DRIVER_ABOUT、 および メッセージは例外である。
lParam1
    メッセージ 1 を指定する。
lParam2
    メッセージ 2 を指定する。

戻り値
    uMsg パラメータで指定された、ユーザー定義の ACM ドライバメッセージ固有の値が返る。エラー値は、次のとおりである。

    値                                                

説明                                                                  

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

uMsg パラメータが ACMDM_USER の範囲にない。

    MMSYSERR_NOTSUPPORTED

ACM ドライバはメッセージを処理しなかった。


解説
    ACM ドライバのカスタムの[バージョン情報]ダイアログボックスを表示するには、アプリケーションでドライバに

    ACMDM_DRIVER_ABOUT メッセージを送信しなければならない。lParam1 パラメータはカスタムの[バージョン情報]ダイアログボックス

    のオーナーウィンドウのハンドルを指定しならない。また、lParam2 パラメータに 0 を指定しなければならない。ドライバがカスタムの[バージ

    ョン情報]ダイアログボックスをサポートしていない場合、戻り値として MMSYSERR_NOTSUPPORTED が返り、[バージョン情報]ダイ

    アログボックスの表示は、アプリケーションで処理しなければならない。たとえば、コントロールパネルサウンドマッパオプションを有効にする

    と、MMSYSERR_NOTSUPPORTED が返ったときに ACMDRIVERDETAILS 構造体に基づいた既定の[バージョン情報]ダイアログボ

    ックスが表示されます。アプリケーションで lParam1 パラメータを– 1L に設定すると、ダイアログボックスを表示することなくドライバがカスタム

    の[バージョン情報]ダイアログボックスをサポートしているかどうかを照会できる。ドライバがカスタムの[バージョン情報]ダイアログボック

    スをサポートしている場合は、戻り値として MMSYSERR_NOERROR が返る。また、サポートしていない場合は、

    MMSYSERR_NOTSUPPORTED が返る。
    ユーザー定義のメッセージは、そのメッセージをサポートしている ACM ドライバにしか送信できない。呼び出し側は、ドライバの詳細を取得し

    て ACMDRIVERDETAILS 構造体の wMid メンバ、wPid メンバおよび vdwDriver メンバを調べ、ACM ドライバが正しいドライバかどうか

    を検証する必要がある。
    ドライバ情報が不明な ACM ドライバには、ユーザー定義のメッセージを送信してはならない。