Funzione IoGetDeviceInterfacePropertyData (wdm.h)
La routine IoGetDeviceInterfacePropertyData recupera il valore corrente di una proprietà dell'interfaccia del dispositivo.
Sintassi
NTSTATUS IoGetDeviceInterfacePropertyData(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
Parametri
[in] SymbolicLinkName
Puntatore a una stringa che identifica l'istanza dell'interfaccia del dispositivo. Questa stringa è stata ottenuta da una chiamata precedente alla routine IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias o IoRegisterDeviceInterface .
[in] PropertyKey
Puntatore a una struttura DEVPROPKEY che contiene la chiave della proprietà dell'interfaccia del dispositivo.
[in] Lcid
Specifica un 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 zero.
[in] Size
Specifica le dimensioni, in byte, del buffer a cui punta Data .
[out] Data
Puntatore a un buffer allocato dal chiamante in cui la routine scrive i dati delle proprietà dell'interfaccia del dispositivo.
[out] RequiredSize
Puntatore a una variabile ULONG in cui IoGetDeviceInterfacePropertyData scrive le dimensioni necessarie dei dati della proprietà. Se la routine ha esito positivo, il valore della dimensione richiesta è il numero di byte scritti dalla routine nel buffer di output a cui punta Data . Se la routine restituisce STATUS_BUFFER_TOO_SMALL, il valore della dimensione richiesta è la dimensione del buffer che il chiamante deve allocare per questo valore della proprietà.
[out] Type
Puntatore a una variabile DEVPROPTYPE . Se IoGetDeviceInterfacePropertyData recupera correttamente i dati della proprietà, la routine scrive il valore del tipo di proprietà in questa variabile. Questo valore indica il tipo di dati delle proprietà presenti nel buffer dei dati .
Valore restituito
IoGetDeviceInterfacePropertyData restituisce STATUS_SUCCESS se ha esito positivo. I valori restituiti di errore possibili includono i codici di stato seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_BUFFER_TOO_SMALL | Buffer a cui punta Data è troppo piccolo per contenere i dati della proprietà. *RequiredSize contiene la lunghezza del buffer necessaria. |
STATUS_UNSUCCESSFUL | Il valore LCID specificato non è valido. |
STATUS_NOT_IMPLEMENTED | La proprietà specificata non è supportata. |
Commenti
I driver in modalità kernel usano la routine IoGetDeviceInterfacePropertyData per recuperare le proprietà dell'interfaccia del dispositivo definite come parte del modello di proprietà del dispositivo unificato. Per altre informazioni sulle proprietà dell'interfaccia del dispositivo, vedere Proprietà del dispositivo.
I driver possono usare la routine IoSetDeviceInterfacePropertyData per modificare una proprietà dell'interfaccia del dispositivo.
I chiamanti di IoGetDeviceInterfacePropertyData devono essere in esecuzione in IRQL = PASSIVE_LEVEL nel contesto di un thread di sistema.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 8 e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |