Bagikan melalui


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)

Lihat juga

EMULATOR_ACCESS_ENTRY

Fungsi SVGA

SvgaHwIoPortUchar

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts