Поделиться через


Функция KdChangeOption (wdm.h)

Подпрограмма KdChangeOption обращается и изменяет состояние в ядре, связанном с отладкой ядра.

Синтаксис

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

Параметры

[in] Option

Значение из перечисления KD_OPTION, указывающее состояние ядра для доступа и изменения. Значение этого параметра определяет формат и требуемую длину inBuffer и OutBuffer. В настоящее время единственным допустимым значением является KD_OPTION_SET_BLOCK_ENABLE.

[in, optional] InBufferBytes

Размер буфера в байтах в InBuffer. Это необязательное значение.

[in] InBuffer

Указатель на выделенный вызывающим объектом входной буфер, содержащий сведения об изменении состояния ядра. Если Параметр указывает состояние ядра, которое не требует входных данных, этот указатель может иметь значение NULL.

[in, optional] OutBufferBytes

Размер буфера в байтах в OutBuffer. Это необязательное значение.

[out] OutBuffer

Указатель на выделенный вызывающим объектом выходной буфер, в котором возвращаются сведения, относящиеся к состоянию ядра. Если Параметр указывает состояние ядра, которое не создает выходные данные, этот указатель может иметь значение NULL.

[out, optional] OutBufferNeeded

Возвращаемое значение

KdChangeOption возвращает STATUS_SUCCESS, если она успешно выполнила запрошенную операцию. В противном случае возвращаемое значение может иметь один из следующих кодов состояния ошибки:

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

Комментарии

Если операционная система была загружена без элементов управления отладкой, KdChangeOption возвращает STATUS_DEBUGGER_INACTIVE.

В настоящее время единственным допустимым значением параметра Option является KD_OPTION_SET_BLOCK_ENABLE. Если параметру задано любое другое значение, KdChangeOption возвращает STATUS_INVALID_INFO_CLASS. Если параметр KD_OPTION_SET_BLOCK_ENABLE, вызывающий объект должен задать для параметра InBufferBytes значение sizeof(BOOLEAN), для параметра OutBufferBytes — нулевое значение, а для параметра OutBuffer — значение NULL; В противном случае KdChangeOption возвращает STATUS_INVALID_PARAMETER. Если высокий бит (0x80) в системной переменной KdBlockEnable имеет значение 1, отладчик невозможно повторно включить, а KdChangeOption возвращает STATUS_ACCESS_DENIED. В противном случае KdChangeOption задает системной переменной KdBlockEnable значение BOOLEAN, на которое указывает InBuffer .

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях Windows и Windows Server.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень