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

Vedi anche

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData