PDRIVER_IO_PORT_ULONG_STRING fungsi panggilan balik (video.h)

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

Sintaks

PDRIVER_IO_PORT_ULONG_STRING PdriverIoPortUlongString;

VP_STATUS PdriverIoPortUlongString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PULONG 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 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 data ULONG yang akan ditransfer. String dikaitkan satu nilai pada satu waktu sampai semuanya digunakan.

DataLength

Menentukan jumlah nilai ULONG dalam string.

Nilai kembali

SvgaHwIoPortUlongString mengembalikan status akhir operasi.

Keterangan

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

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

Jika driver miniport mengaktifkan rentang Port untuk akses langsung dengan memanggil VideoSetTrappedEmulatorPorts, fungsi SvgaHwIoPortUlongString-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 INSD atau OUTSD x86 yang dikeluarkan aplikasi dapat memengaruhi status register sequencer adapter yang kompatibel dengan VGA, register output lain-lain, atau register khusus adaptor apa pun dan, dengan demikian, menyebabkan mesin macet, driver miniport tidak boleh mengaktifkan port untuk akses langsung dengan memanggil VideoPortSetTrappedEmulatorPorts.

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

SvgaHwIoPortUlongString harus dibuat dapat diperbaharui.

Persyaratan

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

Lihat juga

EMULATOR_ACCESS_ENTRY

Fungsi SVGA

SvgaHwIoPortUlong

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts