IWMDeviceManager3::SetDeviceEnumPreference-Methode (mswmdm.h)

Die SetDeviceEnumPreference-Methode legt die Geräteenumerationseinstellungen fest.

Syntax

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

Parameter

[in] dwEnumPref

Gibt eine bitweise OR-Kombination aus einem oder mehreren der folgenden Bitwerte an, die die Enumerationspräferenz angeben. Jedes festgelegte Bit aktiviert das entsprechende erweiterte Verhalten, während das Fehlen dieses Bits das erweiterte Verhalten deaktiviert und das standardmäßige abwärtskompatible Enumerationsverhalten angibt. Die möglichen Werte für fuPrefs werden in der folgenden Tabelle angegeben.

Wert BESCHREIBUNG
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES Bei Geräten, die mehrere Speichermedien (z. B. mehrere Flash-Speicherkarten) enthalten, zählt jeder dieser Speicher standardmäßig als separates Pseudogerät auf. Wenn dieses Flag jedoch festgelegt ist, sind Speicher nicht als Geräte sichtbar, und nur Geräte sind als Geräte sichtbar. Weitere Informationen finden Sie unter Hinweise.
ALLOW_OUTOFBAND_NOTIFICATION Wenn dieses Flag festgelegt ist, kann der Dienstanbieter die Gerätean- und -entfernung durch einen zusätzlichen Mechanismus senden, z. B. mithilfe einer Fensternachricht, sowie den Standardmechanismus zum Aufrufen aller von der Anwendung implementierten IWMDMNotification-Schnittstellen .

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_INVALIDARG
Der fuPrefs-Parameter gibt einen nicht unterstützten Bitwert an.
WMDM_E_CALL_OUT_OF_SEQUENCE
Die -Methode wurde nach einem Enumerationsvorgang aufgerufen. Sie muss vor dem Enumerationsvorgang aufgerufen werden.

Hinweise

Diese Methode bietet Clients die Möglichkeit, das Standardverhalten der Geräteenumeration von Windows Media Geräte-Manager außer Kraft zu setzen. Um das Standardverhalten zu überschreiben, muss die Clientanwendung diese Methode unmittelbar nach dem Erstellen des Geräte-Manager-Objekts aufrufen, indem die IWMDMDeviceManager3-Schnittstelle von Media Geräte-Manager abgefragt wird. Der Aufruf muss vor einer Enumeration erfolgen, entweder explizit oder implizit als Ergebnis eines anderen Vorgangs.

Nachdem ein Einstellungsflag festgelegt wurde, kann es für die Lebensdauer der Anwendung nicht mehr geändert werden (nicht nur die Lebensdauer des Windows Media-Geräte-Manager-Objekts). Der Versuch, ein Einstellungsflag zu ändern, führt zu einem Fehler. Das erneute Aufrufen dieser Methode mit denselben Flageinstellungen gibt keinen Fehler zurück und wirkt sich auch auf die Enumeration aus.

Der Dienstanbieter beachtet möglicherweise nicht das flag DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES. Eine robustere Möglichkeit, zu bestimmen, ob Speicher vom gleichen Gerät gehostet werden, ist das Aufrufen von IWMDMDevice2::GetCanonicalName. Speicher vom gleichen Gerät geben identische Werte zurück, mit Ausnahme der letzten Ziffer nach dem letzten "$"-Zeichen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h

Weitere Informationen

IWMDMDevice2::GetCanonicalName