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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der fuPrefs-Parameter gibt einen nicht unterstützten Bitwert an. |
|
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 |