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 フラグを使用して、できるだけ早く通知ブロードキャストを再び有効にする必要があります。 hadid は NULL、dwPriority は 0、ACM_DRIVERPRIORITYF_BEGIN フラグのみを設定できることに注意してください。 |
ACM_DRIVERPRIORITYF_DISABLE | ACM ドライバーは、現在有効になっている場合は無効にする必要があります。 無効にされたドライバーを無効にしても何も行われません。 |
ACM_DRIVERPRIORITYF_ENABLE | ACM ドライバーが現在無効になっている場合は、有効にする必要があります。 有効なドライバーを有効にしても何も行われません。 |
ACM_DRIVERPRIORITYF_END | 呼び出しタスクでは、変更通知ブロードキャストを再び可能にする必要があります。 アプリケーションは、ACM_DRIVERPRIORITYF_BEGIN フラグを使用して、成功した呼び出しごとに ACM_DRIVERPRIORITYF_END を使用して acmDriverPriority を呼び出す必要があります。 hadid は NULL、dwPriority は 0、ACM_DRIVERPRIORITYF_END フラグのみを設定できることに注意してください。 |
戻り値
成功した場合は 0 を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
遅延ブロードキャスト ロックは、別のタスクによって所有されます。 |
|
少なくとも 1 つのフラグが無効です。 |
|
指定されたハンドルが無効です。 |
|
少なくとも 1 つのパラメーターが無効です。 |
|
要求された操作は、指定されたドライバーではサポートされていません。 たとえば、ローカルおよび通知ドライバーの識別子は優先度をサポートしていません (ただし、有効または無効にすることができます)。 アプリケーションでローカル識別子と通知ドライバー識別子の 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 |