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