次の方法で共有


WdfWaitLockCreate 関数 (wdfsync.h)

[KMDF と UMDF に適用]

WdfWaitLockCreate メソッドは、フレームワークの待機ロック オブジェクトを作成します。

構文

NTSTATUS WdfWaitLockCreate(
  [in, optional] PWDF_OBJECT_ATTRIBUTES LockAttributes,
  [out]          WDFWAITLOCK            *Lock
);

パラメーター

[in, optional] LockAttributes

待機ロック オブジェクトの属性を指定する呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。

[out] Lock

新しいフレームワーク待機ロック オブジェクトへのハンドルを受け取る場所へのポインター。

戻り値

WdfWaitLockCreate 、操作が成功した場合にSTATUS_SUCCESSを返します。

WdfWaitLockCreate メソッドが返す可能性があるその他の戻り値の一覧については、「Framework オブジェクト作成エラー」を参照してください。

このメソッドは、他のNTSTATUS 値を返す場合もあります。

備考

WdfWaitLockCreate メソッドは、フレームワークの待機ロック オブジェクトを作成します。 待機ロック オブジェクトを作成した後、ドライバーは WdfWaitLockAcquire を呼び出してロックを取得し、WdfWaitLockRelease してロックを解除できます。

既定では、新しい待機ロック オブジェクトの親は、WdfDriverCreate メソッドが作成したフレームワーク ドライバー オブジェクトです。 WDF_OBJECT_ATTRIBUTES 構造体の ParentObject メンバーを使用して、別の親を指定できます。 フレームワークは、親オブジェクトを削除すると、待機ロック オブジェクトを削除します。 ドライバーが既定の親を変更しない場合、ドライバーは、オブジェクトの使用が完了したときに待機ロック オブジェクトを削除する必要があります。それ以外の場合、オブジェクトは、I/O マネージャーがドライバーをアンロードするまで残ります。

待機ロックの詳細については、「Framework-Based ドライバー の同期手法参照してください。

次のコード例では、WDF_OBJECT_ATTRIBUTESを初期化し、待機ロックの親オブジェクトがデバイス オブジェクトであることを指定し、WdfWaitLockCreate 呼び出します。

WDF_OBJECT_ATTRIBUTES attributes;
WDFWAITLOCK lockHandle;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = Device;
status = WdfWaitLockCreate(
                           &attributes,
                           &lockHandle
                           );

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfsync.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ParentObjectCheckLock(kmdf)

関連項目

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfWaitLockAcquire

WdfWaitLockRelease