<Return[A]><Top>

acmDriverOpen

Declare Function Api_acmDriverOpen& Lib "msacm32" Alias "acmDriverOpen" (ByRef phad&, ByVal hadid&, ByVal fdwOpen&)

Declare Function acmDriverOpen Lib "msacm32" (ByRef phad As Long, ByVal hadid As Long, ByVal fdwOpen As Long) As Long

指定された ACM ドライバを開き、そのドライバとの通信に使用できるドライバインスタンスハンドルを返す。

パラメータ

phad
    ドライバとの通信に使用できる、新しいドライバインスタンスハンドルを受け取るアドレスを指定する。
hadid
    インストール済みで有効な ACM ドライバのドライバ識別子のハンドルを指定する。

fdwOpen
    予約されている。0 を指定する。

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

    値                                                

説明                                                                  

    MMSYSERR_INVALFLAG

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

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

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

    MMSYSERR_NOMEM

システムはリソースを割り当てられない。

    MMSYSERR_NOTENABLED

ドライバは有効ではない。


解説
    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 ドライバには、ユーザー定義のメッセージを送信してはならない。