Condividi tramite


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

Dimensione, in byte, del buffer a cui punta PropertyBuffer.

[out] PropertyBuffer

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

[out] ResultLength

Posizione fornita dal chiamante che, in caso di restituzione, contiene le dimensioni, in byte, delle informazioni 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 -typedDEVPROPTYPE che identifica il tipo di dati della proprietà a cui WdfDeviceQueryInterfaceProperty archiviato nel buffer a cui PropertyBuffer punta.

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 .

Osservazioni

Prima di ricevere i dati delle proprietà del dispositivo, i driver in genere chiamano il metodo WdfDeviceQueryInterfaceProperty solo per ottenere le dimensioni del buffer necessarie. Per alcune proprietà, le dimensioni dei dati possono variare tra quando vengono restituite le dimensioni necessarie e quando il driver chiama WdfDeviceQueryInterfaceProperty di nuovo. 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 richiesta è nota e non modificata, perché in questo caso il driver deve chiamare WdfDeviceQueryInterfaceProperty una sola volta. Se le dimensioni del buffer necessarie sono sconosciute o variano, il driver deve chiamare WdfDeviceAllocAndQueryInterfaceProperty.

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

Fabbisogno

Requisito Valore
client minimo supportato Windows 8.1
piattaforma di destinazione Universale
versione minima di UMDF 2.0
intestazione wdfdevice.h (include Wdf.h)
libreria WUDFx02000.lib
dll WUDFx02000.dll
IRQL PASSIVE_LEVEL

Vedere anche

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty