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 |
---|---|
|
Il buffer di input è troppo piccolo per ricevere le informazioni. |
|
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