Funzione WdfIoTargetAllocAndQueryTargetProperty (wdfiotarget.h)
[Si applica solo a KMDF]
Il metodo WdfIoTargetAllocAndQueryTargetProperty alloca un buffer e recupera una proprietà del dispositivo specificata per una destinazione di I/O specificata.
Sintassi
NTSTATUS WdfIoTargetAllocAndQueryTargetProperty(
[in] WDFIOTARGET IoTarget,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory
);
Parametri
[in] IoTarget
Handle per un oggetto di destinazione I/O locale o remoto ottenuto da una chiamata precedente a WdfDeviceGetIoTarget o WdfIoTargetCreate o da un metodo fornito da una destinazione di I/O specializzata.
[in] DeviceProperty
Valore tipizzato DEVICE_REGISTRY_PROPERTY che identifica la proprietà del dispositivo da recuperare.
[in] PoolType
Valore tipizzato POOL_TYPE che specifica il tipo di memoria da allocare.
[in, optional] PropertyMemoryAttributes
Puntatore a una struttura WDF_OBJECT_ATTRIBUTES allocata dal chiamante che descrive gli attributi oggetto per l'oggetto memoria allocato dalla funzione. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.
[out] PropertyMemory
Puntatore a una posizione tipizzata WDFMEMORY che riceve un handle per un oggetto memoria del framework.
Valore restituito
WdfIoTargetAllocAndQueryTargetProperty restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Valore specificato dal parametro DeviceProperty non valido. |
|
I driver del dispositivo non hanno ancora segnalato le proprietà del dispositivo. |
Questo metodo potrebbe anche restituire altri valori NTSTATUS.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Commenti
Il metodo WdfIoTargetAllocAndQueryTargetProperty determina la quantità di memoria necessaria per contenere la proprietà del dispositivo richiesta. Questo metodo alloca memoria sufficiente per contenere i dati e restituisce un handle a un oggetto memoria del framework che descrive la memoria allocata. Per accedere ai dati, il driver può chiamare WdfMemoryGetBuffer.
Per altre informazioni su WdfIoTargetAllocAndQueryTargetProperty, vedere Ottenere informazioni su una destinazione di I/O generale.
Per altre informazioni sulle destinazioni di I/O, vedere Uso delle destinazioni di I/O.
Esempio
L'esempio di codice seguente chiama WdfIoTargetAllocAndQueryTargetProperty per ottenere la proprietà DevicePropertyFriendlyName . Dopo la restituzione di WdfIoTargetAllocAndQueryTargetProperty , il driver può chiamare WdfMemoryGetBuffer per ottenere un puntatore al buffer contenente la stringa del nome.
WDFMEMORY targetName;
NTSTATUS status;
status = WdfIoTargetAllocAndQueryTargetProperty(
Target,
DevicePropertyFriendlyName,
NonPagedPool,
WDF_NO_OBJECT_ATTRIBUTES,
&targetName
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfiotarget.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Vedi anche
WdfDeviceAllocAndQueryProperty