次の方法で共有


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)

こちらもご覧ください

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks