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 |
---|---|
|
Operazione riuscita. Il buffer data contiene i dati recuperati. **Type* contiene il tipo dei dati recuperati. |
|
Il buffer dati è troppo piccolo. **RequiredSize* contiene la lunghezza del buffer richiesta. |
|
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) |