Funzione IoGetDeviceInterfacePropertyData (wdm.h)
La routine IoGetDeviceInterfacePropertyData recupera il valore corrente di una proprietà dell'interfaccia 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 al IoGetDeviceInterfaces, IoGetDeviceInterfaceAliaso routine 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. 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 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 della 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 corrisponde al numero di byte che la routine scrive 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 di 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 della proprietà presenti nel buffer 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 | Il buffer che Data punta a è troppo piccolo per contenere i dati della proprietà. * RequiredSize contiene la lunghezza del buffer richiesta. |
STATUS_UNSUCCESSFUL | Il valore LCID specificato non è valido. |
STATUS_NOT_IMPLEMENTED | La proprietà specificata non è supportata. |
Osservazioni
I driver in modalità kernel usano la routine IoGetDeviceInterfacePropertyData per recuperare le proprietà dell'interfaccia del dispositivo definite come parte del modello di proprietà unificato del dispositivo . Per altre informazioni sulle proprietà dell'interfaccia del dispositivo, vedere Proprietà 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.
Fabbisogno
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 |