Функция 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 | Любой уровень |