Freigeben über


WdfDeviceInitSetFileObjectConfig-Funktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WdfDeviceInitSetFileObjectConfig-Methode registriert Ereignisrückruffunktionen und legt Konfigurationsinformationen für die Frameworkdateiobjekte des Treibers fest.

Syntax

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

Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] FileObjectConfig

Ein Zeiger auf eine aufruferseitig zugeordnete WDF_FILEOBJECT_CONFIG Struktur.

[in, optional] FileObjectAttributes

Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_OBJECT_ATTRIBUTES Struktur, die vom Treiber bereitgestellte Objektattribute für die Frameworkdateiobjekte des Treibers enthält. Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.

Rückgabewert

Keine

Bemerkungen

Wenn ein Treiber WdfDeviceInitSetFileObjectConfig aufruft, muss er dies tun, bevor er WdfDeviceCreate aufruft.

Standardmäßig erbt jedes Frameworkdateiobjekt seinen Synchronisierungsbereich und die Ausführungsebene von seinem übergeordneten Geräteobjekt. Wenn der Synchronisierungsbereich und die Ausführungsebene des übergeordneten Geräteobjekts nicht WdfSynchronizationScopeNone und WdfExecutionLevelPassive sind, muss der Treiber die Werte WdfSynchronizationScopeNone und WdfExecutionLevelPassive in der WDF_OBJECT_ATTRIBUTES Struktur festlegen, die der Parameter FileObjectAttributes angibt. Andernfalls gibt WdfDeviceCreate einen Fehler status Code zurück. Weitere Informationen zum Synchronisierungsbereich und zur Ausführungsebene finden Sie unter Verwenden der automatischen Synchronisierung.

Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.

Weitere Informationen zu Frameworkdateiobjekten finden Sie unter Frameworkdateiobjekte.

Beispiele

Im folgenden Codebeispiel werden eine WDF_OBJECT_ATTRIBUTES-Struktur und eine WDF_FILEOBJECT_CONFIG-Struktur initialisiert und dann WdfDeviceInitSetFileObjectConfig aufgerufen.

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
                                 );

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FileObjectConfigured(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Weitere Informationen

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks