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


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