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
STATUS_INVALID_PARAMETER o STATUS_INVALID_PARAMETER_2
Valore specificato dal parametro DeviceProperty non valido.
STATUS_INVALID_DEVICE_REQUEST
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

DEVICE_REGISTRY_PROPERTY

POOL_TYPE

WDF_OBJECT_ATTRIBUTES

WdfDeviceAllocAndQueryProperty

WdfDeviceGetIoTarget

WdfIoTargetCreate

WdfIoTargetQueryTargetProperty

WdfMemoryGetBuffer