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