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 sottoposto a 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 del linguaggio o su LOCALE_NEUTRAL.

Il LOCALE_NEUTRAL LCID specifica che la proprietà è neutrale dal linguaggio , ovvero non specifica per nessun linguaggio.

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 persistente tra i riavvii del computer. In caso contrario, impostare Flag su zero.

Windows 8 e Windows Server 2012 e sistemi operativi successivi considerano i flag come se PLUGPLAY_PROPERTY_PERSISTENT venga sempre passato.

[in] Type

Valore DEVPROPTYPE che specifica il tipo di dati forniti nel buffer dati .

[in] Size

Dimensioni, in byte, del buffer a cui punta Dati .

[in, optional] Data

Puntatore ai dati delle proprietà del dispositivo. Impostare questo parametro su NULL per eliminare la proprietà specificata. Se Data è diverso da NULL, la routine archivia una copia interna del valore della proprietà. Il buffer a cui fa riferimento dati non deve rimanere valido dopo la restituzione della chiamata.

Valore restituito

IoSetDevicePropertyData restituisce STATUS_SUCCESS se la chiamata ha esito positivo o il codice NTSTATUS appropriato in caso di errore.

Commenti

Per visualizzare i tipi di proprietà disponibili per l'uso da 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à del dispositivo unificato. Per altre informazioni sulle proprietà del dispositivo, vedere Proprietà dispositivo.

Per eliminare una proprietà per impostazioni locali specifiche del linguaggio, passare un valore LCID specifico del linguaggio in Lcid e NULL in Dati.

Per eliminare una proprietà per tutte le impostazioni locali, passare LOCALE_NEUTRAL in Lcid e NULL in Dati.

Per modificare una proprietà per impostazioni locali specifiche del linguaggio, passare un valore LCID specifico del linguaggio in Lcid e non NULL in Dati.

Per modificare una proprietà per tutte le impostazioni locali, passare LOCALE_NEUTRAL in Lcid e non NULL in Dati.

A partire da Windows 8 e Windows Server 2012 passando LOCALE_NEUTRAL in Lcid viene trattato 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 in esecuzione in IRQL <= APC_LEVEL nel contesto di un thread di sistema.

Requisiti

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)

Vedi anche

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData