Condividi tramite


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)

Vedere anche

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData