Bagikan melalui


PDRIVER_IO_PORT_USHORT_STRING fungsi panggilan balik (video.h)

SvgaHwIoPortUshortString menjebak rentang port I/O tempat aplikasi MS-DOS layar penuh dalam mesin berbasis x86 mengirim urutan data berukuran USHORT.

Sintaks

PDRIVER_IO_PORT_USHORT_STRING PdriverIoPortUshortString;

VP_STATUS PdriverIoPortUshortString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data,
  ULONG DataLength
)
{...}

Parameter

Context

Menentukan nilai konteks miniport yang ditentukan driver yang ditetapkan di EmulatorAccessEntriesContext dari VIDEO_PORT_CONFIG_INFO.

Port

Menentukan port I/O yang dipetakan untuk dijebak.

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 nilai data USHORT yang akan ditransfer. String ini diakses satu nilai pada satu waktu sampai semua nilai telah dikaitkan.

DataLength

Menentukan jumlah nilai USHORT dalam string.

Nilai kembali

SvgaHwIoPortUshortString mengembalikan status akhir operasi.

Keterangan

Hanya driver miniport adaptor SVGA yang kompatibel dengan VGA yang memiliki fungsi SvgaHwIoPortXxx . (Lihat Fungsi SVGA.)

SvgaHwIoPortUshortString mencegat akses rentang apa pun yang dicoba oleh aplikasi MS-DOS layar penuh yang mengeluarkan salah satu atau kedua instruksi REP OUTSW DX, ESI dan REP INSW EDI, DX.

Jika driver miniport mengaktifkan rentang Port untuk akses langsung dengan memanggil VideoSetTrappedEmulatorPorts, fungsi SvgaHwIoPortUshortString-nya tidak akan dipanggil. Aplikasi seperti itu kemudian akan memiliki akses langsung ke rentang port I/O, kecuali driver miniport menonaktifkan rentang Port dengan panggilan lain ke VideoSetTrappedEmulatorPorts.

Jika satu atau beberapa instruksi INSW atau OUTSW x86 yang dikeluarkan aplikasi dapat memengaruhi status register pengurut adaptor yang kompatibel dengan VGA, daftar output lain-lain, atau register khusus adaptor apa pun dan, sehingga menyebabkan mesin macet, driver miniport tidak boleh mengaktifkan port untuk akses langsung dengan memanggil VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUshortString harus buffer instruksi berikutnya dari aplikasi dan memeriksa bahwa tidak ada yang dapat menggantung komputer. Jika aplikasi mengeluarkan urutan instruksi yang mungkin menggantung komputer, SvgaHwIoPortUshortString harus membuang instruksi yang di-buffer. Jika tidak, itu harus mengeluarkannya, USHORT pada satu waktu, ke port I/O yang ditentukan dan dipetakan.

SvgaHwIoPortUshortString harus dibuat dapat di-pageable.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header video.h (sertakan Video.h)

Lihat juga

EMULATOR_ACCESS_ENTRY

Fungsi SVGA

SvgaHwIoPortUshort

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts