EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND fungsi panggilan balik (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtDeviceSelfManagedIoSuspend driver menangguhkan operasi I/O yang dikelola sendiri perangkat.

Sintaks

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

NTSTATUS EvtWdfDeviceSelfManagedIoSuspend(
  [in] WDFDEVICE Device
)
{...}

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

Nilai kembali

Jika operasi berhasil, fungsi panggilan balik EvtDeviceSelfManagedIoSuspend harus mengembalikan STATUS_SUCCESS, atau nilai status lain yang NT_SUCCESS(statusnya) sama dengan TRUE. Jika tidak, nilai status harus mengembalikan nilai yang NT_SUCCESS(statusnya) sama dengan FALSE. Jika NT_SUCCESS(status) sama dengan FALSE, kerangka kerja akan menghentikan perangkat dan menghapus objek perangkatnya.

Jika NT_SUCCESS(status) sama dengan FALSE, kerangka kerja memanggil fungsi panggilan balik EvtDeviceSelfManagedIoFlush dan EvtDeviceSelfManagedIoCleanup driver.

Untuk informasi selengkapnya tentang nilai pengembalian fungsi panggilan balik ini, lihat Melaporkan Kegagalan Perangkat.

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtDeviceSelfManagedIoSuspend , driver harus memanggil WdfDeviceInitSetPnpowerEventCallbacks.

Jika driver telah mendaftarkan fungsi panggilan balik EvtDeviceSelfManagedIoSuspend , kerangka kerja memanggilnya karena salah satu alasan berikut:

  • Perangkat akan memasuki status daya rendah.
  • Perangkat sedang dihapus atau dihapus secara mendadak.
  • Manajer Plug and Play akan mendistribusikan ulang sumber daya perangkat keras sistem di antara perangkat sistem yang terpasang.
Karena Anda tidak tahu peristiwa mana yang menyebabkan kerangka kerja memanggil driver Anda, Anda harus berasumsi bahwa perangkat mungkin kembali ke status berfungsi (D0).

Jika perangkat akan memasuki status daya rendah, kerangka kerja memanggil fungsi panggilan balik EvtDeviceSelfManagedIoSuspend driver sebelum memanggil fungsi panggilan balik EvtDeviceD0Exit driver.

Jika fungsi panggilan balik mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE, dan jika kerangka kerja mencoba menurunkan daya perangkat, kerangka kerja akan menghentikan perangkat dan menghapus objek perangkatnya.

Fungsi panggilan balik EvtDeviceSelfManagedIoSuspend harus melakukan apa pun yang diperlukan untuk menghentikan operasi I/O yang dikelola sendiri perangkat.

Untuk informasi selengkapnya tentang kapan kerangka kerja memanggil fungsi panggilan balik ini, lihat Skenario Manajemen PnP dan Power.

Untuk informasi selengkapnya tentang driver yang menyediakan fungsi panggilan balik ini, lihat Menggunakan I/O Self-Managed.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
IRQL PASSIVE_LEVEL

Lihat juga

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart