IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION IOCTL (usbioctl.h)

Permintaan I/O IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION digunakan oleh driver untuk memberi tahu driver bus USB bahwa perangkat tidak aktif dan dapat ditangguhkan.

Saat mengirim IOCTL ini, penelepon harus melengkapi rutinitas panggilan balik yang melakukan penangguhan perangkat yang sebenarnya. Driver bus USB akan memanggil rutinitas ini pada PASSIVE_LEVEL ketika perangkat aman untuk dimatikan. Jika perangkat mendukung bangun jarak jauh dan tidak memiliki Wait/Wake IRP yang sudah tertunda, rutinitas panggilan balik harus mengirimkan Wait/Wake IRP ke driver bus untuk perangkat, sebelum mematikannya.

Untuk informasi tambahan, lihat Perangkat Pendukung yang Memiliki Kemampuan Wake-Up dan Penangguhan Selektif USB.

IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION adalah permintaan kontrol I/O mode kernel. Permintaan ini menargetkan PDO hub USB. Permintaan ini harus dikirim di IRQL PASSIVE_LEVEL.

Kode utama

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer input

Parameters.DeviceIoControl.Type3InputBuffer harus menjadi penunjuk ke struktur USB_IDLE_CALLBACK_INFO . Struktur ini harus berisi penunjuk ke rutinitas panggilan balik dan penunjuk ke konteks rutin panggilan balik.

Struktur yang menyimpan informasi panggilan balik didefinisikan dalam usbioctl.h sebagai berikut:

typedef VOID (*USB_IDLE_CALLBACK)(PVOID Context);

typedef struct _USB_IDLE_CALLBACK_INFO
{
  USB_IDLE_CALLBACK IdleCallback;
  PVOID IdleContext;
} USB_IDLE_CALLBACK_INFO, *PUSB_IDLE_CALLBACK_INFO;

Panjang buffer input

Ukuran struktur USB_IDLE_CALLBACK_INFO .

Buffer output

Tidak ada.

Panjang buffer output

Tidak ada.

Blok status

Driver bus atau port mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS atau status kesalahan yang sesuai.

Persyaratan

Persyaratan Nilai
Header usbioctl.h (termasuk Usbioctl.h)