情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

WdfInterruptSynchronize メソッド

The WdfInterruptSynchronize method executes a specified callback function at the device's DIRQL while holding an interrupt object's spin lock.

構文

BOOLEAN WdfInterruptSynchronize(
  [in]  WDFINTERRUPT Interrupt,
  [in]  PFN_WDF_INTERRUPT_SYNCHRONIZE Callback,
  [in]  WDFCONTEXT Context
);

パラメーター

Interrupt [in]

A handle to a framework interrupt object.

Callback [in]

A pointer to an EvtInterruptSynchronize callback function.

Context [in]

An untyped pointer to driver-supplied information that the framework passes to the EvtInterruptSynchronize callback function.

戻り値

WdfInterruptSynchronize returns the Boolean status value that the EvtInterruptSynchronize callback function returns.

A bug check occurs if the driver supplies an invalid object handle.

解説

If you want your driver to execute code that must run without being preempted and with servicing of device interrupts effectively disabled, you should place that code in an EvtInterruptSynchronize callback function. To schedule execution of the callback function, your driver must call WdfInterruptSynchronize.

The WdfInterruptSynchronize method returns after the EvtInterruptSynchronize callback function has finished executing.

Instead of calling WdfInterruptSynchronize, your driver can call WdfInterruptAcquireLock and WdfInterruptReleaseLock.

For more information about the WdfInterruptSynchronize method, see Synchronizing Interrupt Code.

For more information about handling interrupts in framework-based drivers, see Handling Hardware Interrupts.

The following code example shows how to call WdfInterruptSynchronize to schedule execution of an EvtInterruptSynchronize callback function.

BOOLEAN synchronizeReturnValue;

synchronizeReturnValue = WdfInterruptSynchronize(
                                         WdfInterrupt,
                                         MyEvtInterruptSynchronize,
                                         CallbackContext
                                         );

要件

バージョン

Available in version 1.0 and later versions of KMDF.

ヘッダー

Wdfinterrupt.h (includeWdf.h)

ライブラリ

Wdf<MajorVersionNumber>000.sys (see Framework Library Versions.)

IRQL

<=DISPATCH_LEVEL

参照

WdfInterruptAcquireLock
WdfInterruptReleaseLock
EvtInterruptSynchronize

 

 

コミュニティの追加

表示:
© 2015 Microsoft