WdfDeviceInitSetFileObjectConfig 関数 (wdfdevice.h)
[KMDF と UMDF に適用]
WdfDeviceInitSetFileObjectConfig メソッドは、イベント コールバック関数を登録し、ドライバーのフレームワーク ファイル オブジェクトの構成情報を設定します。
構文
void WdfDeviceInitSetFileObjectConfig(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PWDF_FILEOBJECT_CONFIG FileObjectConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
パラメーター
[in] DeviceInit
WDFDEVICE_INIT構造体へのポインター。
[in] FileObjectConfig
呼び出し元によって割り当てられた WDF_FILEOBJECT_CONFIG 構造体へのポインター。
[in, optional] FileObjectAttributes
ドライバーのフレームワーク ファイル オブジェクトのドライバー指定のオブジェクト属性を含む呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。
戻り値
なし
解説
ドライバーが WdfDeviceInitSetFileObjectConfig を呼び出す場合は、 WdfDeviceCreate を呼び出す前にこれを行う必要があります。
既定では、各フレームワーク ファイル オブジェクトは、その親デバイス オブジェクトから同期スコープと実行レベルを継承します。 親デバイス オブジェクトの同期スコープと実行レベルが WdfSynchronizationScopeNone および WdfExecutionLevelPassive でない場合、ドライバーは FileObjectAttributes パラメーターが指定するWDF_OBJECT_ATTRIBUTES構造体で WdfSynchronizationScopeNone 値と WdfExecutionLevelPassive 値を設定する必要があります。 それ以外の場合、 WdfDeviceCreate はエラー状態コードを返します。 同期スコープと実行レベルの詳細については、「 自動同期の使用」を参照してください。
WdfDeviceCreate の呼び出しの詳細については、「Framework デバイス オブジェクトの作成」を参照してください。
フレームワーク ファイル オブジェクトの詳細については、「フレームワーク ファイル オブジェクト」を参照してください。
例
次のコード例では、 WDF_OBJECT_ATTRIBUTES 構造体と WDF_FILEOBJECT_CONFIG 構造体を初期化し、 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
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdevice.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | ChildDeviceInitAPI(kmdf)、 ControlDeviceInitAPI(kmdf)、 DeviceInitAPI(kmdf)、 DriverCreate(kmdf)、 FileObjectConfigured(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 PdoDeviceInitAPI(kmdf) |