Функция 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.
В настоящее время единственным допустимым значением параметра параметра является KD_OPTION_SET_BLOCK_ENABLE. Если для параметра задано любое другое значение, KdChangeOption возвращает STATUS_INVALID_INFO_CLASS. Если параметр KD_OPTION_SET_BLOCK_ENABLE, вызывающий объект должен задать для параметра InBufferBytes значение sizeof(BOOLEAN), параметр OutBufferBytes равным нулю, а параметр OutBufferNULL; в противном случае KdChangeOption возвращает STATUS_INVALID_PARAMETER. Если для системной переменной KdBlockEn able задано значение высокого уровня (0x80), отладчик никогда не может быть повторно включен, а KdChangeOption возвращает STATUS_ACCESS_DENIED. В противном случае KdChangeOption задает системной переменной KdBlockEn able значение BOOLEAN, InBuffer.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows Server 2003 с пакетом обновления 1 (SP1) и более поздними версиями Windows и Windows Server. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |