Partager via


WdfFdoInitAllocAndQueryPropertyEx, fonction (wdffdo.h)

[S’applique à KMDF et UMDF]

La méthode WdfFdoInitAllocAndQueryPropertyEx alloue une mémoire tampon et récupère une propriété d’appareil spécifiée.

Syntaxe

NTSTATUS WdfFdoInitAllocAndQueryPropertyEx(
  [in]           PWDFDEVICE_INIT           DeviceInit,
  [in]           PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]           POOL_TYPE                 PoolType,
  [in, optional] PWDF_OBJECT_ATTRIBUTES    PropertyMemoryAttributes,
  [out]          WDFMEMORY                 *PropertyMemory,
  [out]          PDEVPROPTYPE              Type
);

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT que le pilote a obtenu à partir de sa fonction de rappel EvtDriverDeviceAdd .

[in] DeviceProperty

Pointeur vers une structure de WDF_DEVICE_PROPERTY_DATA qui identifie la propriété d’appareil à récupérer.

[in] PoolType

Énumérateur POOL_TYPE qui spécifie le type de mémoire à allouer.

[in, optional] PropertyMemoryAttributes

Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES allouée par l’appelant qui décrit les attributs d’objet pour l’objet mémoire que la fonction allouera. Ce paramètre est facultatif et peut être WDF_NO_OBJECT_ATTRIBUTES.

[out] PropertyMemory

Pointeur vers un emplacement de type WDFMEMORY qui reçoit un handle vers un objet de mémoire framework.

[out] Type

Pointeur vers une variable DEVPROPTYPE . Si la méthode réussit, lors du retour, ce paramètre contient la valeur de type de propriété des données de propriété stockées dans PropertyMemory.

Valeur retournée

Si l’opération réussit, WdfFdoInitAllocAndQueryPropertyEx retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
La valeur DeviceProperty spécifiée n’est pas valide.
 

La méthode peut retourner d’autres valeurs NTSTATUS.

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

La méthode WdfFdoInitAllocAndQueryPropertyEx détermine la quantité de mémoire nécessaire pour contenir la propriété d’interface d’appareil demandée. Il alloue suffisamment de mémoire pour contenir les données et retourne un handle à un objet de mémoire framework qui décrit la mémoire allouée. Pour accéder aux données, votre pilote peut appeler WdfMemoryGetBuffer.

Le pilote peut appeler WdfFdoInitAllocAndQueryPropertyEx uniquement avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Après avoir appelé WdfDeviceCreate, un pilote peut obtenir des informations sur la propriété de l’appareil en appelant WdfDeviceAllocAndQueryPropertyEx.

Pour plus d’informations sur les méthodes associées, consultez Accès au modèle de propriété d’appareil unifié.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.13
Version UMDF minimale 2.0
En-tête wdffdo.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

Voir aussi

WdfFdoInitAllocAndQueryProperty