Funzione IoGetDevicePropertyData (wdm.h)

La routine IoGetDevicePropertyData recupera l'impostazione corrente per una proprietà del dispositivo.

Sintassi

NTSTATUS IoGetDevicePropertyData(
  [in]  PDEVICE_OBJECT   Pdo,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

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. L'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 della lingua, vedere Struttura LCID.

Flags

Riservato per l'utilizzo nel sistema. I driver devono impostare questo valore su 0.

[in] Size

Dimensione, in byte, del buffer a cui punta Data .

[out] Data

Puntatore ai dati della proprietà del dispositivo.

[out] RequiredSize

Puntatore a ULONG per ricevere le dimensioni delle informazioni sulle proprietà restituite in Data. Se IoGetDevicePropertyData restituisce STATUS_BUFFER_TOO_SMALL, il chiamante può usare questo valore per allocare un buffer delle dimensioni corrette.

[out] Type

Puntatore a un valore DEVPROPTYPE . Se IoGetDevicePropertyData viene completato correttamente, la routine usa Type per specificare il tipo di dati restituiti nel buffer dei dati .

Valore restituito

IoGetDevicePropertyData restituisce un valore NTSTATUS. Questa routine può restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS
Operazione completata. Il buffer dei dati contiene i dati recuperati. **Type* contiene il tipo dei dati recuperati.
STATUS_BUFFER_TOO_SMALL
Il buffer dei dati è troppo piccolo. **RequiredSize* contiene la lunghezza del buffer necessaria.
STATUS_OBJECT_NAME_NOT_FOUND
Impossibile trovare la proprietà del dispositivo specificata.

Commenti

I driver in modalità kernel usano la routine IoGetDevicePropertyData per recuperare le proprietà del dispositivo definite come parte del modello di proprietà del dispositivo unificato.

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 possono usare la routine IoSetDevicePropertyData per modificare una proprietà del dispositivo.

I chiamanti di IoGetDevicePropertyData 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

IoSetDevicePropertyData