Funzione IoSetDevicePropertyData (wdm.h)
La routine IoSetDevicePropertyData modifica l'impostazione corrente per una proprietà del dispositivo.
Sintassi
NTSTATUS IoSetDevicePropertyData(
[in] PDEVICE_OBJECT Pdo,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
[in] ULONG Flags,
[in] DEVPROPTYPE Type,
[in] ULONG Size,
[in, optional] PVOID Data
);
Parametri
[in] Pdo
Puntatore all'oggetto dispositivo fisico (PDO) per il dispositivo su cui viene eseguita la query.
[in] PropertyKey
Puntatore a una struttura DEVPROPKEY che specifica la chiave della proprietà del dispositivo.
[in] Lcid
Identificatore delle impostazioni locali. Impostare questo parametro su un valore LCID specifico della lingua o su LOCALE_NEUTRAL.
Il LOCALE_NEUTRAL LCID specifica che la proprietà è indipendente dalla lingua, ovvero non specifica di alcuna lingua.
Non impostare questo parametro su LOCALE_SYSTEM_DEFAULT o LOCALE_USER_DEFAULT.
Per altre informazioni sui valori LCID specifici del linguaggio, vedere Struttura LCID.
[in] Flags
Impostare questo parametro su PLUGPLAY_PROPERTY_PERSISTENT se il valore della proprietà impostato da questa routine deve essere mantenuto tra i riavvii del computer. In caso contrario, impostare Flag su zero.
I sistemi operativi Windows 8 e Windows Server 2012 e versioni successive considerano flag come se PLUGPLAY_PROPERTY_PERSISTENT venga sempre passato.
[in] Type
Valore DEVPROPTYPE che specifica il tipo di dati forniti nel buffer data.
[in] Size
Dimensioni, in byte, del buffer a cui punta Data.
[in, optional] Data
Puntatore ai dati della proprietà del dispositivo. Impostare questo parametro su NULL per eliminare la proprietà specificata. Se Data non ènull, la routine archivia una copia interna del valore della proprietà. Il buffer a cui punta Data non deve rimanere valido dopo la restituzione della chiamata.
Valore restituito
IoSetDevicePropertyData restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo o il codice NTSTATUS appropriato in caso di errore.
Osservazioni
Per visualizzare i tipi di proprietà disponibili per l'uso da parte di questa routine, vedere DEVPROP_TYPE_BYTE e pagine adiacenti per DEVPROP_TYPE_*
.
I driver in modalità kernel usano la routine IoSetDevicePropertyData per modificare le proprietà del dispositivo definite come parte del modello di proprietà unificata del dispositivo. Per altre informazioni sulle proprietà del dispositivo, vedere Proprietà dispositivo.
Per eliminare una proprietà per impostazioni locali specifiche, passare un valore LCID specifico della lingua in Lcid e NULL in Data.
Per eliminare una proprietà per tutte le impostazioni locali, passare LOCALE_NEUTRAL in Lcid e NULL in Data.
Per modificare una proprietà per impostazioni locali specifiche, passare un valore LCID specifico della lingua in Lcid e non NULL in Data.
Per modificare una proprietà per tutte le impostazioni locali, passare LOCALE_NEUTRAL in Lcid e non NULL in Data.
A partire da Windows 8 e Windows Server 2012 passando LOCALE_NEUTRAL in Lcid viene considerato come qualsiasi altra impostazione locale.
I driver possono usare la routine IoGetDevicePropertyData per ottenere il valore corrente per una proprietà del dispositivo.
I chiamanti di IoSetDeviceProperty devono essere eseguiti in IRQL <= APC_LEVEL nel contesto di un thread di sistema.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows Vista. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |