struktur VIDEO_REQUEST_PACKET (video.h)
Penunjuk ke struktur VIDEO_REQUEST_PACKET diteruskan ke fungsi HwVidStartIO driver miniport oleh driver port video. Driver port video menyiapkan VRP dari kode IRP (lihat Kode Fungsi Utama IRP) yang dikirim sebagai respons terhadap panggilan GDI ke EngDeviceIoControl. Biasanya, driver tampilan yang sesuai melakukan panggilan ke EngDeviceIoControl ketika membutuhkan dukungan dari pasangan driver port-miniport video. Driver port video memanggil driver miniport dengan VRP untuk memproses permintaan IOCTL_VIDEO_XXX yang diberikan.
Sintaks
typedef struct _VIDEO_REQUEST_PACKET {
ULONG IoControlCode;
PSTATUS_BLOCK StatusBlock;
PVOID InputBuffer;
ULONG InputBufferLength;
PVOID OutputBuffer;
ULONG OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
Anggota
IoControlCode
Menentukan nilai IOCTL_VIDEO_XXX yang diteruskan ke fungsi EngDeviceIoControl oleh pemanggil dan dikirim ke driver port video dalam kode IRP. Untuk informasi selengkapnya tentang kumpulan IOCTL_VIDEO_XXXX yang harus didukung driver miniport, lihat Kode Kontrol I/O Driver Miniport Video.
StatusBlock
Arahkan ke struktur STATUS_BLOCK di VRP. StatusBlock diisi oleh driver miniport dengan informasi pengembalian setelah selesai setiap VRP.
InputBuffer
Arahkan ke buffer input yang berisi informasi yang diteruskan oleh pemanggil. Struktur untuk data tergantung pada nilai IoControlCode. Anggota ini benar-benar menunjuk ke buffer yang sama seperti yang ditunjukkan oleh OutputBuffer.
InputBufferLength
Menentukan ukuran dalam byte buffer input.
OutputBuffer
Arahkan ke buffer output tempat driver miniport mentransfer data untuk dikembalikan ke pemanggil. Struktur untuk data tergantung pada nilai IoControlCode. Karena anggota ini menunjuk ke buffer yang sama dengan InputBuffer, driver miniport tidak boleh menulis output di OutputBuffer sebelum mengonsumsi semua data input dari InputBuffer.
OutputBufferLength
Menentukan ukuran dalam byte buffer output. Driver miniport tidak dapat memperbesar buffer ini. Driver miniport harus mengatur anggota StatusStatusBlock dengan ERROR_INSUFFICIENT_BUFFER atau ERROR_MORE_DATA jika OutputBuffer yang diberikan terlalu kecil untuk berisi semua informasi yang dikembalikan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | video.h (sertakan Video.h) |