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


Метод IDebugEventCallbacksWide::CreateProcess (dbgeng.h)

Метод обратного вызова CreateProcess вызывается подсистемой при возникновении события отладки процесса создания в целевом объекте.

Синтаксис

HRESULT CreateProcess(
  [in]           ULONG64 ImageFileHandle,
  [in]           ULONG64 Handle,
  [in]           ULONG64 BaseOffset,
  [in]           ULONG   ModuleSize,
  [in, optional] PCWSTR  ModuleName,
  [in, optional] PCWSTR  ImageName,
  [in]           ULONG   CheckSum,
  [in]           ULONG   TimeDateStamp,
  [in]           ULONG64 InitialThreadHandle,
  [in]           ULONG64 ThreadDataOffset,
  [in]           ULONG64 StartOffset
);

Параметры

[in] ImageFileHandle

Указывает дескриптор файла изображения процесса. Если эти сведения недоступны, ImageFileHandle будет иметь значение NULL.

[in] Handle

Указывает дескриптор процесса. Этот параметр соответствует полю hProcess в структуре CREATE_PROCESS_DEBUG_INFO. Если эти сведения недоступны, ImageFileHandle будет иметь значение NULL.

[in] BaseOffset

Указывает базовый адрес исполняемого образа процесса в адресном пространстве памяти целевого объекта. Если эти сведения недоступны, baseOffset будет иметь значение NULL.

[in] ModuleSize

Указывает размер исполняемого образа процесса в байтах. Если эти сведения недоступны, значение ModuleSize будет равно нулю.

[in, optional] ModuleName

Указывает упрощенное имя модуля, используемое обработчиком отладчика. В большинстве случаев это соответствует имени файла образа, за исключением расширения. Если эти сведения недоступны, moduleName будет иметь значение NULL.

[in, optional] ImageName

Указывает имя файла исполняемого образа процесса, который может включать путь. Если эти сведения недоступны, ImageName будет иметь значение NULL.

[in] CheckSum

Указывает контрольную сумму исполняемого образа процесса. Если эти сведения недоступны, CheckSum будет иметь нулевое значение.

[in] TimeDateStamp

Указывает метку времени и даты файла исполняемого образа процесса. Если эти сведения недоступны, TimeDateStamp будет иметь нулевое значение.

[in] InitialThreadHandle

Указывает дескриптор начального потока процесса. Этот параметр соответствует полю hThread в структуре CREATE_PROCESS_DEBUG_INFO. Если эти сведения недоступны, InitialThreadHandle будет иметь значение NULL.

[in] ThreadDataOffset

Задает блок данных, который операционная система сохраняет для этого потока. Фактические данные в блоке зависят от операционной системы. Если эти сведения недоступны, ThreadDataOffset будет иметь значение NULL.

[in] StartOffset

Указывает начальный адрес потока в виртуальном адресном пространстве процесса. Если эти сведения недоступны, startOffset будет иметь значение NULL.

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

Этот метод возвращает значение DEBUG_STATUS_XXX , указывающее, как должно происходить выполнение целевого объекта после обработки обработчиком этого события. Дополнительные сведения о том, как подсистема обрабатывает это значение, см. в разделе Мониторинг событий.

Комментарии

Этот метод вызывается обработчиком, только если флаг DEBUG_EVENT_CREATE_PROCESS установлен в маске, возвращаемой методом IDebugEventCallbacksWide::GetInterestMask.

Дополнительные сведения об обработке событий см. в разделе Мониторинг событий. Сведения о потоках см. в разделе Потоки и процессы.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)