Condividi tramite


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. 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.

Flags

Riservato per l'uso del sistema. I driver devono impostare questo valore su 0.

[in] Size

Dimensioni, 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 sulla 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 data.

Valore restituito

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

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

Osservazioni

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

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.

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

IoSetDevicePropertyData