Funzione WdfDeviceQueryInterfaceProperty (wdfdevice.h)

[Si applica solo a UMDF]

Il metodo WdfDeviceQueryInterfaceProperty recupera una proprietà dell'interfaccia dispositivo specificata.

Sintassi

NTSTATUS WdfDeviceQueryInterfaceProperty(
  [in]  WDFDEVICE                           Device,
  [in]  PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]  ULONG                               BufferLength,
  [out] PVOID                               PropertyBuffer,
  [out] PULONG                              ResultLength,
  [out] PDEVPROPTYPE                        Type
);

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] PropertyData

Puntatore a una struttura WDF_DEVICE_INTERFACE_PROPERTY_DATA che identifica la proprietà dell'interfaccia del dispositivo da recuperare.

[in] BufferLength

Dimensioni, in byte, del buffer a cui fa riferimento PropertyBuffer.

[out] PropertyBuffer

Puntatore a un buffer allocato del chiamante che riceve la proprietà dell'interfaccia del dispositivo richiesta. Il puntatore può essere NULL se il parametro BufferLength è zero.

[out] ResultLength

Percorso fornito dal chiamante che, in caso di restituzione, contiene le dimensioni, in byte, delle informazioni che WdfDeviceQueryInterfaceProperty archiviate in PropertyBuffer. Se il valore restituito della funzione è STATUS_BUFFER_TOO_SMALL, questa posizione riceve le dimensioni del buffer necessarie.

[out] Type

Puntatore a una variabile tipizzata DEVPROPTYPE che identifica il tipo di dati di proprietà a cui WdfDeviceQueryInterfaceProperty è archiviato nel buffer a cui punta PropertyBuffer .

Valore restituito

Se il metodo WdfDeviceQueryInterfaceProperty non rileva errori, restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL
Il buffer di input è troppo piccolo per ricevere le informazioni.
STATUS_INVALID_PARAMETER_2
Il valore del parametro specificato non è valido.
 

Il metodo potrebbe restituire altri valori NTSTATUS.

Commenti

Prima di ricevere i dati delle proprietà del dispositivo, i driver chiamano in genere il metodo WdfDeviceQueryInterfaceProperty solo per ottenere le dimensioni del buffer necessarie. Per alcune proprietà, le dimensioni dei dati possono cambiare tra quando vengono restituite le dimensioni necessarie e quando il driver chiama di nuovo WdfDeviceQueryInterfaceProperty . Pertanto, i driver devono chiamare WdfDeviceQueryInterfaceProperty all'interno di un ciclo che viene eseguito fino a quando lo stato restituito non è STATUS_BUFFER_TOO_SMALL.

È consigliabile usare WdfDeviceQueryInterfaceProperty solo se la dimensione del buffer necessaria è nota e non modificata, perché in questo caso il driver deve chiamare WdfDeviceQueryInterfaceProperty una sola volta. Se la dimensione del buffer necessaria è sconosciuta o varia, il driver deve chiamare WdfDeviceAllocAndQueryInterfaceProperty.

Per informazioni sui metodi correlati, vedere Accesso al modello di proprietà dispositivo unificato.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1
Piattaforma di destinazione Universale
Versione UMDF minima 2,0
Intestazione wdfdevice.h (includere Wdf.h)
Libreria WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Vedi anche

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty