PDRIVER_IO_PORT_UCHAR fungsi panggilan balik (video.h)
SvgaHwIoPortUchar menjebak port I/O tempat aplikasi MS-DOS layar penuh dalam mesin berbasis x86 mengirim data berukuran UCHAR.
Sintaks
PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;
VP_STATUS PdriverIoPortUchar(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUCHAR Data
)
{...}
Parameter
Context
Menentukan nilai konteks miniport yang ditentukan driver yang ditetapkan di anggota EmulatorAccessEntriesContextdari VIDEO_PORT_CONFIG_INFO.
Port
Menentukan port I/O yang dipetakan untuk dijebak.
AccessMode
Menentukan jenis akses yang akan dijebak, yang bisa berupa satu atau kombinasi (ORed) dari nilai berikut:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Arahkan ke byte yang akan ditransfer.
Nilai kembali
SvgaHwIoPortUchar mengembalikan status akhir operasi.
Keterangan
Hanya driver miniport adaptor SVGA yang kompatibel dengan VGA yang memiliki fungsi SvgaHwIoPortXxx . (Lihat Fungsi SVGA.)
SvgaHwIoPortUchar mencegat akses byte apa pun yang dicoba oleh aplikasi MS-DOS layar penuh yang mengeluarkan salah satu atau kedua instruksi OUT DX, AL dan IN AL, DX.
Jika driver miniport mengaktifkan Port untuk akses langsung dengan memanggil VideoPortSetTrappedEmulatorPorts, fungsi SvgaHwIoPortUchar-nya tidak akan dipanggil. Aplikasi seperti itu kemudian akan memiliki akses langsung ke Port, kecuali driver miniport menonaktifkan Port dengan panggilan lain ke VideoPortSetTrappedEmulatorPorts.
Jika satu atau beberapa instruksi IN atau OUT x86 yang dikeluarkan aplikasi dapat memengaruhi status register sequencer adapter yang kompatibel dengan VGA, register output lain-lain, atau register khusus adapter apa pun dan, dengan demikian, menyebabkan mesin macet, driver miniport tidak boleh mengaktifkan port untuk akses langsung dengan memanggil VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUchar harus menyangga instruksi berikutnya dari aplikasi ke Port dan memeriksa bahwa tidak ada yang dapat menggantung komputer. Jika aplikasi mengeluarkan urutan instruksi yang mungkin menggantung komputer, SvgaHwIoPortUchar harus membuang instruksi yang di-buffer. Jika tidak, itu harus mengeluarkannya, UCHAR pada satu waktu, ke port I/O yang ditentukan dan dipetakan.
SvgaHwIoPortUchar harus dibuat dapat di-pageable.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | video.h (sertakan Video.h) |