WdfObjectAcquireLock 関数 (wdfsync.h)

[KMDF と UMDF に適用]

WdfObjectAcquireLock メソッドは、オブジェクトの同期ロックを取得します。

構文

VOID WdfObjectAcquireLock(
  _In_ WDFOBJECT Object
);

パラメーター

[in] Object

フレームワーク デバイス オブジェクトまたはフレームワーク キュー オブジェクトへのハンドル。

注釈

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

ドライバーは 、WdfObjectAcquireLock メソッドを呼び出して、指定されたフレームワーク デバイス オブジェクトまたはフレームワーク キュー オブジェクトに関連付けられている同期ロックを取得できます。 メソッドは、ロックが取得されるまで戻りません。

ドライバーでオブジェクトの同期ロックが不要になった場合は、 WdfObjectReleaseLock を呼び出す必要があります。

ドライバーが指定したオブジェクトのWDF_OBJECT_ATTRIBUTES構造体の ExecutionLevel メンバーに WdfExecutionLevelPassive を指定した場合、ドライバーは IRQL <= APC_LEVELWdfObjectAcquireLock を呼び出す必要があります。 WdfObjectAcquireLock高速ミューテックス を取得し、呼び出し元の IRQL で を返します。 (この場合、WdfObjectAcquireLock は、通常のカーネル APC が無効になるように、 を返す前に KeEnterCriticalRegion も呼び出します)。

ドライバーが、指定したオブジェクトのWDF_OBJECT_ATTRIBUTES構造体の ExecutionLevel メンバーに WdfExecutionLevelPassive を指定しなかった場合、ドライバーは IRQL <= DISPATCH_LEVEL で WdfObjectAcquireLock を呼び出す必要があります。 WdfObjectAcquireLockスピン ロック を取得し、IRQL = DISPATCH_LEVEL でを返します。

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

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfsync.h (Wdf.h を含む)
IRQL 「解説」を参照してください。
DDI コンプライアンス規則 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock