Accesso al modello di proprietà del dispositivo unificato

Questo argomento descrive come un driver WDF (Windows Driver Frameworks) recupera o modifica le proprietà esposte tramite il modello di proprietà del dispositivo unificato. I metodi elencati sono disponibili a partire da User-Mode Driver Framework (UMDF) versione 2.0 e Kernel-Mode Driver Framework (KMDF) versione 1.13.

I driver KMDF e UMDF possono chiamare i metodi seguenti:

Sia i driver KMDF che i driver UMDF possono chiamare i metodi seguenti solo prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo framework.

Dopo aver chiamato WdfDeviceCreate, un driver può ottenere informazioni sulle proprietà del dispositivo chiamando il metodo WdfDeviceXxxProperty corrispondente.

I metodi -Ex precedenti differiscono dalle rispettive controparti non Ex in quanto consentono di specificare le proprietà usando la struttura WDF_DEVICE_PROPERTY_DATA , anziché il sottoinsieme che è possibile specificare usando DEVICE_REGISTRY_PROPERTY.

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

È consigliabile usare WdfXxxQueryProperty solo se le dimensioni del buffer necessarie sono note e non modificabili, perché in questo caso il driver deve chiamare WdfXxxQueryProperty una sola volta. Se le dimensioni del buffer necessarie sono sconosciute o variano, il driver deve chiamare WdfXxxAllocAndQueryProperty.

Accesso alle proprietà dell'interfaccia del dispositivo

I driver UMDF possono usare i metodi seguenti per recuperare o modificare le proprietà dell'interfaccia del dispositivo esposte tramite il modello di proprietà unificata:

Per recuperare o modificare una proprietà dell'interfaccia del dispositivo, un driver KMDF deve chiamare direttamente IoGetDeviceInterfacePropertyData o IoSetDeviceInterfacePropertyData .