EvtDeviceReportedMissing
EvtDeviceUsageNotificationEx
EvtDeviceWdmIrpDispatch
EvtDeviceWdmPostPoFxRegisterDevice
EvtDeviceWdmPrePoFxUnregisterDevice
WDF_DEVICE_INTERFACE_PROPERTY_DATA
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT
WDF_DEVICE_PROPERTY_DATA
WDF_DEVICE_PROPERTY_DATA_INIT
WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS
WDF_EVENT_TYPE
WDF_IO_TYPE_CONFIG
WDF_IO_TYPE_CONFIG_INIT
WDF_POWER_FRAMEWORK_SETTINGS
WDF_POWER_FRAMEWORK_SETTINGS_INIT
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE
WDF_REMOVE_LOCK_OPTIONS
WDF_REMOVE_LOCK_OPTIONS_FLAGS
WDF_REMOVE_LOCK_OPTIONS_INIT
WdfDeviceAllocAndQueryInterfaceProperty method
WdfDeviceAllocAndQueryPropertyEx method
WdfDeviceAssignInterfaceProperty method
WdfDeviceAssignProperty method
WdfDeviceConfigureWdmIrpDispatchCallback method
WdfDeviceGetDeviceStackIoType method
WdfDeviceGetHardwareRegisterMappedAddress
WdfDeviceInitSetIoTypeEx method
WdfDeviceInitSetReleaseHardwareOrderOnFailure method
WdfDeviceInitSetRemoveLockOptions method
WdfDeviceMapIoSpace
WdfDeviceOpenDevicemapKey method
WdfDevicePostEvent
WdfDeviceQueryInterfaceProperty method
WdfDeviceQueryPropertyEx method
WdfDeviceReadFromHardware
WdfDeviceResumeIdleWithTag method
WdfDeviceStopIdleWithTag method
WdfDeviceUnmapIoSpace
WdfDeviceWdmAssignPowerFrameworkSettings method
WdfDeviceWdmDispatchIrp method
WdfDeviceWdmDispatchIrpToIoQueue method
WdfDeviceWriteToHardware
WdfFdoInitAllocAndQueryPropertyEx method
WdfFdoInitQueryPropertyEx method
Collapse the table of content
Expand the table of content
展開 最小化

EvtDeviceSelfManagedIoRestart

A driver's EvtDeviceSelfManagedIoRestart event callback function restarts a device's self-managed I/O operations.

構文

EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart;

NTSTATUS EvtDeviceSelfManagedIoRestart(
  __in  WDFDEVICE Device
)
{ ... }

パラメーター

Device [in]

A handle to a framework device object.

戻り値

If the EvtDeviceSelfManagedIoRestart callback function encounters no errors, it must return STATUS_SUCCESS, or another status value for which NT_SUCCESS(status) equals TRUE. Otherwise it must return a status value for which NT_SUCCESS(status) equals FALSE. If NT_SUCCESS(status) equals FALSE, the framework stops the device and unloads the device's drivers.

If NT_SUCCESS(status) equals FALSE, the framework calls the driver's EvtDeviceSelfManagedIoFlush and EvtDeviceSelfManagedIoCleanup callback functions.

For more information about this callback function's return values, see Reporting Device Failures.

解説

To register an EvtDeviceSelfManagedIoRestart callback function, a driver must call WdfDeviceInitSetPnpPowerEventCallbacks.

If the driver has registered an EvtDeviceSelfManagedIoRestart callback function, the framework calls it each time that the device returns from a low-power state to its working (D0) state. The framework calls the EvtDeviceSelfManagedIoRestart callback function only after calling the driver's EvtDeviceSelfManagedIoSuspend callback function.

The driver's EvtDeviceSelfManagedIoRestart callback function must do whatever is needed to resume the device's self-managed I/O operations.

For more information about when the framework calls this callback function, see PnP and Power Management Scenarios.

For more information about drivers that provide this callback function, see Using Self-Managed I/O.

The EvtDeviceSelfManagedIoRestart callback function is called at IRQL = PASSIVE_LEVEL. You should not make this callback function pageable.

The function type is declared in Wdfdevice.h, as follows.

typedef NTSTATUS
 (EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART)(
    IN WDFDEVICE  Device
    );

To define an EvtDeviceSelfManagedIoRestart callback function that is named MyDeviceSelfManagedIoRestart, you must first provide a function declaration that SDV and other verification tools require, as follows:

EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART  MyDeviceSelfManagedIoRestart;

Then, implement your callback function as follows:

NTSTATUS
 MyDeviceSelfManagedIoRestart (
    IN WDFDEVICE  Device
    )
  {...}

要件

バージョン

Supported by version 1.0 and later versions of KMDF.

ヘッダー

Wdfdevice.h (includeWdf.h)

IRQL

PASSIVE_LEVEL (see Remarks section)

参照

EvtDeviceSelfManagedIoCleanup
EvtDeviceSelfManagedIoFlush
EvtDeviceSelfManagedIoInit
EvtDeviceSelfManagedIoSuspend

 

 

コミュニティの追加

追加
表示:
© 2015 Microsoft