Fungsi KdChangeOption (wdm.h)

KdChangeOption rutin mengakses dan mengubah status dalam kernel yang terkait dengan penelusuran kesalahan kernel.

Sintaks

NTSTATUS KdChangeOption(
  [in]            KD_OPTION Option,
  [in, optional]  ULONG     InBufferBytes,
  [in]            PVOID     InBuffer,
  [in, optional]  ULONG     OutBufferBytes,
  [out]           PVOID     OutBuffer,
  [out, optional] PULONG    OutBufferNeeded
);

Parameter

[in] Option

Nilai dari enumerasi KD_OPTION yang menunjukkan status kernel untuk mengakses dan mengubah. Nilai parameter ini menentukan format dan panjang yang diperlukan dari InBuffer dan OutBuffer. Saat ini, satu-satunya nilai yang valid adalah KD_OPTION_SET_BLOCK_ENABLE.

[in, optional] InBufferBytes

Ukuran, dalam byte, dari buffer di InBuffer. Nilai ini opsional.

[in] InBuffer

Penunjuk ke buffer input yang dialokasikan penelepon yang berisi informasi tentang status kernel yang akan diubah. Jika Opsi menentukan status kernel yang tidak memerlukan data input, penunjuk ini bisa NULL.

[in, optional] OutBufferBytes

Ukuran, dalam byte, dari buffer di OutBuffer. Nilai ini opsional.

[out] OutBuffer

Penunjuk ke buffer output yang dialokasikan penelepon di mana informasi yang berkaitan dengan status kernel dikembalikan. Jika Opsi menentukan status kernel yang tidak menghasilkan data output, penunjuk ini bisa NULL.

[out, optional] OutBufferNeeded

Mengembalikan nilai

KdChangeOption mengembalikan STATUS_SUCCESS jika berhasil melakukan operasi yang diminta. Jika tidak, nilai yang dikembalikan dapat menjadi salah satu kode status kesalahan berikut:

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

Keterangan

Jika sistem operasi di-boot tanpa kontrol debug, KdChangeOption mengembalikan STATUS_DEBUGGER_INACTIVE.

Saat ini, satu-satunya nilai yang valid untuk parameter Opsi adalah KD_OPTION_SET_BLOCK_ENABLE. Jika Opsi diatur ke nilai lain, KdChangeOption mengembalikan STATUS_INVALID_INFO_CLASS. Ketika Opsi KD_OPTION_SET_BLOCK_ENABLE, pemanggil harus mengatur parameter InBufferBytes ke sizeof(BOOLEAN), parameter OutBufferBytes ke nol, dan parameter OutBuffer ke NULL; jika tidak, KdChangeOption mengembalikan STATUS_INVALID_PARAMETER. Jika bit tinggi (0x80) dalam variabel sistem KdBlockEnable diatur ke satu, debugger tidak pernah dapat diaktifkan kembali, dan KdChangeOption mengembalikan STATUS_ACCESS_DENIED. Jika tidak, KdChangeOption menetapkan variabel sistem KdBlockEnable ke nilai BOOLEAN yang ditunjuk oleh InBuffer .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows Server 2003 dengan Paket Layanan 1 (SP1) dan versi Windows dan Windows Server yang lebih baru.
Target Platform Universal
Header wdm.h (termasuk Wdm.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Tingkat apa pun