Метод IDebugEventCallbacks::CreateProcess (dbgeng.h)
Метод обратного вызова CreateProcess вызывается подсистемой при возникновении события отладки процесса создания в целевом объекте.
Синтаксис
HRESULT CreateProcess(
[in] ULONG64 ImageFileHandle,
[in] ULONG64 Handle,
[in] ULONG64 BaseOffset,
[in] ULONG ModuleSize,
[in, optional] PCSTR ModuleName,
[in, optional] PCSTR 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 установлен в маске, возвращаемой методом IDebugEventCallbacks::GetInterestMask.
Дополнительные сведения об обработке событий см. в разделе Мониторинг событий. Сведения о потоках см. в разделе Потоки и процессы.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |