IMDServiceProvider3::SetDeviceEnumPreference メソッド (mswmdm.h)
SetDeviceEnumPreference メソッドは、デバイス列挙の基本設定を設定します。
構文
HRESULT SetDeviceEnumPreference(
[in] DWORD dwEnumPref
);
パラメーター
[in] dwEnumPref
列挙設定を指定する次の 1 つ以上のビット値のビットごとの OR の組み合わせを含みます。 各セット ビットは、対応する拡張動作を有効にしますが、そのビットがない場合は拡張動作を無効にし、既定の下位互換性のある列挙動作を指定します。 dwEnumPref に使用できる値を次の表に示します。
値 | 説明 |
---|---|
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES | 既定では、複数のストレージ メディアを含むデバイスの場合、これらの各ストレージは個別の擬似デバイスとして列挙されます。 ただし、このビットが設定されている場合、ストレージはデバイスとして表示されず、デバイスとして表示されるのはデバイスのみです。 |
ALLOW_OUTOFBAND_NOTIFICATION | 既定では、 IWMDMNotification コールバック メカニズムは、デバイスの到着イベントと削除イベントをアプリケーションに提供します。 このビットが設定されている場合、サービス プロバイダーは、ウィンドウ メッセージを使用するなど、別のメカニズムによってアプリケーションに自由に通知できます。 この動作は、Windows Media デバイス マネージャー通知に加えて行われます。 このフラグは、Windows Media デバイス マネージャー通知を抑制しません。 |
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
dwEnumPref パラメーターには、サポートされていないビット値が含まれています。 |
|
メソッドは、列挙操作の後に呼び出されました。 列挙操作の前に呼び出す必要があります。 |
注釈
この API は、Windows Media デバイス マネージャーの既定のデバイス列挙動作をオーバーライドする機能をクライアントに提供します。
クライアント アプリケーションは、Windows Media デバイス マネージャー から IWMDeviceManager インターフェイスに対してクエリを実行して、デバイス マネージャー オブジェクトを作成した直後にこのメソッドを呼び出す必要があります。 別の操作の結果として明示的または暗黙的に列挙が行われる前に、呼び出しを行う必要があります。
基本設定フラグを設定した後、アプリケーションの有効期間 (Windows Media デバイス マネージャー オブジェクトの有効期間だけでなく) は変更できません。 基本設定フラグを変更しようとすると、エラーが発生します。 同じフラグ設定でこの API を再度呼び出してもエラーは返されず、列挙にも影響します。
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES フラグを有効にするには、サービス プロバイダーが受け入れる必要があります。 このフラグにもかかわらず、一部のデバイスがデバイスごとのストレージとして列挙される可能性があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | mswmdm.h |
Library | Mssachlp.lib |