Bagikan melalui


PWINDBG_IOCTL_ROUTINE fungsi panggilan balik (wdbgexts.h)

Fungsi PWINDBG_IOCTL_ROUTINE (Ioctl) melakukan berbagai operasi yang berbeda. Sebagian besar fungsinya mencerminkan fungsionalitas fungsi lain dalam wdbgexts.h.

Sintaks

PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;

ULONG PwindbgIoctlRoutine(
  USHORT IoctlType,
  PVOID lpvData,
  ULONG cbSize
)
{...}

Parameter

IoctlType

Menentukan operasi Ioctl mana yang akan dilakukan. Untuk daftar kemungkinan nilai IoctlType , lihat bagian "Keterangan".

lpvData

Menunjuk ke alamat struktur data. Jenis struktur yang diperlukan tergantung pada nilai IoctlType.

cbSize

Menentukan ukuran struktur yang dituju lpvData .

Nilai kembali

Arti nilai yang dikembalikan tergantung pada IoctlType. Lihat halaman untuk operasi Ioctl terkait untuk arti dari nilai yang dikembalikan.

Keterangan

Fungsi Ioctl adalah titik masuk untuk banyak fungsi yang disediakan untuk ekstensi WdbgExts. Banyak fungsi lain dalam wdbgexts.h hanyalah pembungkus untuk panggilan ke Ioctl.

Tabel berikut ini mencantumkan kemungkinan nilai IoctlType . Jika IoctlType sesuai dengan fungsi lain, fungsi tersebut disediakan; jika tidak, tautan ke halaman yang menjelaskan operasi Ioctl disediakan.

Konstanta IoctlType Fungsi yang setara Struktur lpData
IG_KD_CONTEXT

GetKdContext

IG_READ_CONTROL_SPACE

ReadControlSpace

ReadControlSpace64

IG_WRITE_CONTROL_SPACE WriteControlSpace
IG_READ_IO_SPACE

ReadIoSpace

ReadIoSpace64

IG_WRITE_IO_SPACE

WriteIoSpace

WriteIoSpace64

IG_READ_PHYSICAL

ReadPhysical

IG_WRITE_PHYSICAL

WritePhysical

IG_READ_IO_SPACE_EX

ReadIoSpaceEx

ReadIoSpaceEx64

IG_WRITE_IO_SPACE_EX

WriteIoSpaceEx

WriteIoSpaceEx64

IG_SET_THREAD

SetThreadForOperation

SetThreadForOperation64

IG_READ_MSR

ReadMsr

IG_WRITE_MSR

WriteMsr

IG_GET_DEBUGGER_DATA

GetDebuggerData

IG_GET_KERNEL_VERSION

DBGKD_GET_VERSION64

IG_RELOAD_SYMBOLS ReloadSymbols
IG_GET_SET_SYMPATH

GetSetSympath

IG_GET_EXCEPTION_RECORD
IG_IS_PTR64 IsPtr64

IG_GET_BUS_DATA

GETSETBUSDATA

IG_SET_BUS_DATA

GETSETBUSDATA

IG_DUMP_SYMBOL_INFO

SYM_DUMP_PARAM

IG_LOWMEM_CHECK

Lihat Keterangan.
IG_SEARCH_MEMORY SearchMemory
IG_GET_CURRENT_THREAD GetCurrentThreadAddr
IG_GET_CURRENT_PROCESS GetCurrentProcessAddr
IG_GET_TYPE_SIZE GetTypeSize
IG_GET_CURRENT_PROCESS_HANDLE GetCurrentProcessHandle
IG_GET_INPUT_LINE GetInputLine
IG_GET_EXPRESSION_EX GetExpressionEx
IG_TRANSLATE_VIRTUAL_TO_PHYSICAL TranslateVirtualToPhysical
IG_GET_CACHE_SIZE GetDebuggerCacheSize
IG_READ_PHYSICAL_WITH_FLAGS ReadPhysicalWithFlags
IG_WRITE_PHYSICAL_WITH_FLAGS WritePhysicalWithFlags

IG_POINTER_SEARCH_PHYSICAL

POINTER_SEARCH_PHYSICAL

IG_GET_THREAD_OS_INFO

WDBGEXTS_THREAD_OS_INFO

IG_GET_CLR_DATA_INTERFACE
IG_GET_TEB_ADDRESS GetTebAddress
IG_GET_PEB_ADDRESS GetPebAddress
 

Operasi Ioctl IG_LOWMEM_CHECK mencari kerusakan memori dalam memori 4 GB rendah.

Operasi Ioctl ini tidak mengambil parameter apa pun dan parameter lpvData dan cbSizeOfContext masing-masing harus diatur ke NULL dan nol.

Nilai Yang Dikembalikan

Jika tidak ada memori rusak yang ditemukan, nilai yang dikembalikan adalah TRUE; jika tidak, itu adalah FALSE.

Operasi ini hanya tersedia dalam penelusuran kesalahan mode kernel, dan hanya berguna ketika kernel dimulai menggunakan opsi /nolowmem .

Ketika kernel dimulai dengan opsi /nolowmem , kernel, driver, sistem operasi, dan aplikasi dimuat dalam memori di atas 4 GB, sementara memori 4 GB rendah diisi dengan pola unik. Operasi Ioctl IG_LOWMEM_CHECK memeriksa pola ini untuk kerusakan.

Ini dapat digunakan untuk memverifikasi bahwa driver berfungsi dengan benar saat menggunakan alamat fisik yang panjangnya lebih besar dari 32 bit. Lihat Ekstensi Alamat Fisik (PAE), /pae, dan /nolowmem di Windows Driver Kit.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header wdbgexts.h (termasuk Wdbgexts.h, Dbgeng.h)