Condividi tramite


Metodo IWMDeviceManager3::SetDeviceEnumPreference (mswmdm.h)

Il metodo SetDeviceEnumPreference imposta le preferenze di enumerazione del dispositivo.

Sintassi

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

Parametri

[in] dwEnumPref

Specifica una combinazione OR bit per bit di uno o più dei valori di bit seguenti che specificano la preferenza di enumerazione. Ogni bit del set abilita il comportamento esteso corrispondente, mentre l'assenza di tale bit disabilita il comportamento esteso e specifica il comportamento di enumerazione predefinito compatibile con le versioni precedenti. Nella tabella seguente vengono forniti i valori possibili per fuPrefs .

Valore Descrizione
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES Per impostazione predefinita, per i dispositivi contenenti più supporti di archiviazione (ad esempio, più schede di memoria flash), ognuna di queste risorse di archiviazione enumera come pseudo-dispositivo separato. Tuttavia, quando questo flag è impostato, le risorse di archiviazione non sono visibili come dispositivi e solo i dispositivi sono visibili come dispositivi. Per ulteriori informazioni, vedere la sezione Osservazioni.
ALLOW_OUTOFBAND_NOTIFICATION Quando questo flag è impostato, il provider di servizi può inviare l'arrivo e la rimozione del dispositivo tramite un meccanismo aggiuntivo, ad esempio usando un messaggio di finestra, nonché il meccanismo predefinito di chiamare qualsiasi interfaccia IWMDMNotification implementata dall'applicazione.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Il parametro fuPrefs specifica un valore di bit non supportato.
WMDM_E_CALL_OUT_OF_SEQUENCE
Il metodo è stato chiamato dopo un'operazione di enumerazione; deve essere chiamato prima dell'operazione di enumerazione.

Commenti

Questo metodo consente ai client di eseguire l'override del comportamento di enumerazione del dispositivo predefinito di Windows Media Gestione dispositivi. Per eseguire l'override del comportamento predefinito, l'applicazione client deve chiamare questo metodo immediatamente dopo aver creato l'oggetto gestione dispositivi eseguendo una query per l'interfaccia IWMDMDeviceManager3 da Media Gestione dispositivi. La chiamata deve essere eseguita prima che si verifichi un'enumerazione, in modo esplicito o implicito in seguito a un'altra operazione.

Dopo aver impostato un flag di preferenza, non può essere modificato per la durata dell'applicazione (non solo per la durata dell'oggetto windows Media Gestione dispositivi). Il tentativo di modificare un flag di preferenza genererà un errore. La chiamata di nuovo a questo metodo con le stesse impostazioni di flag non restituisce un errore e ha anche alcun effetto sull'enumerazione.

Il provider di servizi potrebbe non rispettare il flag di DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES. Un modo più affidabile per determinare se le risorse di archiviazione sono ospitate dallo stesso dispositivo consiste nel chiamare IWMDMDevice2::GetCanonicalName. Le risorse di archiviazione dello stesso dispositivo restituiranno valori identici, ad eccezione della cifra finale dopo l'ultimo carattere "$".

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h

Vedi anche

IWMDMDevice2::GetCanonicalName