Partager via


Fonction WdfDeviceInitSetFileObjectConfig (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceInitSetFileObjectConfig inscrit les fonctions de rappel d’événement et définit les informations de configuration pour les objets de fichier framework du pilote.

Syntaxe

void WdfDeviceInitSetFileObjectConfig(
  [in]           PWDFDEVICE_INIT        DeviceInit,
  [in]           PWDF_FILEOBJECT_CONFIG FileObjectConfig,
  [in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT .

[in] FileObjectConfig

Pointeur vers une structure de WDF_FILEOBJECT_CONFIG allouée par l’appelant.

[in, optional] FileObjectAttributes

Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES allouée par l’appelant qui contient des attributs d’objet fournis par le pilote pour les objets de fichier framework du pilote. Ce paramètre est facultatif et peut être WDF_NO_OBJECT_ATTRIBUTES.

Valeur de retour

None

Remarques

Si un pilote appelle WdfDeviceInitSetFileObjectConfig, il doit le faire avant d’appeler WdfDeviceCreate.

Par défaut, chaque objet de fichier framework hérite de son étendue de synchronisation et de son niveau d’exécution de son objet d’appareil parent. Si l’étendue de synchronisation et le niveau d’exécution de l’objet d’appareil parent ne sont pas WdfSynchronizationScopeNone et WdfExecutionLevelPassive, le pilote doit définir les valeurs WdfSynchronizationScopeNone et WdfExecutionLevelPassive dans la structure WDF_OBJECT_ATTRIBUTES spécifiée par le paramètre FileObjectAttributes . Sinon, WdfDeviceCreate retourne une erreur status code. Pour plus d’informations sur l’étendue et le niveau d’exécution de la synchronisation, consultez Utilisation de la synchronisation automatique.

Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Pour plus d’informations sur les objets de fichier framework, consultez Framework File Objects

Exemples

L’exemple de code suivant initialise une structure WDF_OBJECT_ATTRIBUTES et une structure WDF_FILEOBJECT_CONFIG , puis appelle WdfDeviceInitSetFileObjectConfig.

WDF_OBJECT_ATTRIBUTES  attributes;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.SynchronizationScope = WdfSynchronizationScopeNone;
WDF_FILEOBJECT_CONFIG_INIT(
                           &deviceConfig,
                           MyEvtDeviceFileCreate,
                           MyEvtFileClose,
                           WDF_NO_EVENT_CALLBACK // No cleanup callback function
                           );
WdfDeviceInitSetFileObjectConfig(
                                 DeviceInit,
                                 &deviceConfig,
                                 &attributes
                                 );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI ChildDeviceInitAPI(kmdf),ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf),DriverCreate(kmdf),FileObjectConfigured(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Voir aussi

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks