PDRIVER_IO_PORT_UCHAR_STRING fungsi panggilan balik (video.h)
SvgaHwIoPortUcharString menjebak port I/O tempat aplikasi MS-DOS layar penuh dalam mesin berbasis x86 mengirim urutan data berukuran UCHAR.
Sintaks
PDRIVER_IO_PORT_UCHAR_STRING PdriverIoPortUcharString;
VP_STATUS PdriverIoPortUcharString(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUCHAR Data,
ULONG DataLength
)
{...}
Parameter
Context
Menentukan nilai konteks miniport yang ditentukan driver yang ditetapkan di anggota EmulatorAccessEntriesContext dari VIDEO_PORT_CONFIG_INFO.
Port
Menentukan port I/O yang dipetakan.
AccessMode
Menentukan jenis akses yang diizinkan, yang bisa berupa satu atau kombinasi (ORed) dari nilai berikut:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Penunjuk ke string UCHAR yang akan ditransfer. Satu karakter pada satu waktu dikaitkan sampai seluruh string ditransfer.
DataLength
Menentukan jumlah nilai UCHAR dalam string.
Nilai kembali
SvgaHwIoPortUcharString mengembalikan status akhir operasi.
Keterangan
Hanya driver miniport adaptor SVGA yang kompatibel dengan VGA yang memiliki fungsi SvgaHwIoPortXxx . (Lihat Fungsi SVGA.)
SvgaHwIoPortUcharString mencegat akses byte apa pun yang dicoba oleh aplikasi MS-DOS layar penuh yang mengeluarkan salah satu atau kedua instruksi REP OUTSB DX, ESI dan REP INSB EDI, DX.
Jika driver miniport mengaktifkan Port untuk akses langsung dengan memanggil VideoSetTrappedEmulatorPorts, fungsi SvgaHwIoPortUcharString-nya tidak akan dipanggil. Aplikasi seperti itu kemudian akan memiliki akses langsung ke port I/O, kecuali driver miniport menonaktifkan port dengan panggilan lain ke VideoSetTrappedEmulatorPorts.
Jika satu atau beberapa instruksi INSB atau OUTSB x86 yang dikeluarkan aplikasi dapat memengaruhi status register pengurut adaptor yang kompatibel dengan VGA, daftar output lain-lain, atau register khusus adaptor dan, sehingga, menyebabkan mesin macet, driver miniport tidak boleh mengaktifkan port untuk akses langsung dengan memanggil VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUcharString harus buffer instruksi berikutnya dari aplikasi dan periksa apakah tidak ada yang dapat menggantung komputer. Jika aplikasi mengeluarkan urutan instruksi yang mungkin menggantung komputer, SvgaHwIoPortUcharString harus membuang instruksi yang di-buffer. Jika tidak, itu harus mengeluarkannya, UCHAR pada satu waktu, ke port I/O yang ditentukan dan dipetakan.
SvgaHwIoPortUcharString harus dibuat dapat di-pageable.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | video.h (sertakan Video.h) |