acmDriverPriority 関数 (msacm.h)

acmDriverPriority 関数は、ACM ドライバーの優先度と状態を変更します。

構文

MMRESULT ACMAPI acmDriverPriority(
  HACMDRIVERID hadid,
  DWORD        dwPriority,
  DWORD        fdwPriority
);

パラメーター

hadid

インストールされている ACM ドライバーのドライバー識別子を処理します。 ACM_DRIVERPRIORITYF_BEGINフラグとACM_DRIVERPRIORITYF_ENDフラグを指定する場合、このパラメーターは NULL である必要があります。

dwPriority

グローバル ACM ドライバー識別子の新しい優先度。 0 の値は、ドライバー識別子の優先度を変更しないように指定します。 値 1 は、ドライバーを検索優先度の最も高いドライバーとして配置することを指定します。 値 –1 は、ドライバーを検索優先度の最も低いドライバーとして配置することを指定します。 優先度は、グローバル ドライバーにのみ使用されます。

fdwPriority

ACM ドライバーの優先度を設定するためのフラグ。 次の値が定義されています。

意味
ACM_DRIVERPRIORITYF_BEGIN 変更通知ブロードキャストは延期する必要があります。 アプリケーションは、ACM_DRIVERPRIORITYF_END フラグを使用して、できるだけ早く通知ブロードキャストを再び有効にする必要があります。 hadidNULLdwPriority は 0、ACM_DRIVERPRIORITYF_BEGIN フラグのみを設定できることに注意してください。
ACM_DRIVERPRIORITYF_DISABLE ACM ドライバーは、現在有効になっている場合は無効にする必要があります。 無効にされたドライバーを無効にしても何も行われません。
ACM_DRIVERPRIORITYF_ENABLE ACM ドライバーが現在無効になっている場合は、有効にする必要があります。 有効なドライバーを有効にしても何も行われません。
ACM_DRIVERPRIORITYF_END 呼び出しタスクでは、変更通知ブロードキャストを再び可能にする必要があります。 アプリケーションは、ACM_DRIVERPRIORITYF_BEGIN フラグを使用して、成功した呼び出しごとに ACM_DRIVERPRIORITYF_END を使用して acmDriverPriority を呼び出す必要があります。 hadidNULLdwPriority は 0、ACM_DRIVERPRIORITYF_END フラグのみを設定できることに注意してください。

戻り値

成功した場合は 0 を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。

リターン コード 説明
MMSYSERR_ALLOCATED
遅延ブロードキャスト ロックは、別のタスクによって所有されます。
MMSYSERR_INVALFLAG
少なくとも 1 つのフラグが無効です。
MMSYSERR_INVALHANDLE
指定されたハンドルが無効です。
MMSYSERR_INVALPARAM
少なくとも 1 つのパラメーターが無効です。
MMSYSERR_NOTSUPPORTED
要求された操作は、指定されたドライバーではサポートされていません。 たとえば、ローカルおよび通知ドライバーの識別子は優先度をサポートしていません (ただし、有効または無効にすることができます)。 アプリケーションでローカル識別子と通知ドライバー識別子の dwPriority に 0 以外の値を指定すると、このエラーが返されます。

注釈

グローバル ドライバー識別子、ローカル ドライバー識別子、通知ドライバー識別子など、すべてのドライバー識別子を有効または無効にすることができます。

複数のグローバル ドライバー識別子を有効、無効、または優先度でシフトする必要がある場合、アプリケーションは ACM_DRIVERPRIORITYF_BEGIN フラグを使用して変更通知ブロードキャストを延期する必要があります。 ACM_DRIVERPRIORITYF_END フラグが指定されると、1 つの変更通知がブロードキャストされます。

アプリケーションは、 acmMetrics ACM_METRIC_DRIVER_PRIORITY メトリック インデックスと共に 関数を使用して、グローバル ドライバーの現在の優先度を取得できます。 ドライバーは常に、 acmDriverEnum 関数によって高い優先度から最も低い優先度に列挙されます。

有効になっているすべてのドライバー識別子は、変更通知を受け取ります。 アプリケーションは、ACM_DRIVERADDF_NOTIFYHWND フラグと組み合わせて acmDriverAdd 関数を使用して通知メッセージを登録できます。 非グローバル ドライバー識別子への変更はブロードキャストされません。

優先順位は、アプリケーションでドライバーが指定されていない場合に、検索順序に対して単純に使用されます。 ドライバーの優先度を高めることは、ドライバーのパフォーマンスには影響しません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー msacm.h
Library Msacm32.lib
[DLL] Msacm32.dll

こちらもご覧ください

オーディオ圧縮関数

オーディオ圧縮マネージャー