Condividi tramite


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

Vedere anche

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData