DkmProcessLaunchRequest Класс

Определение

Дкмпроцесслаунчрекуест используется для описания процесса, который должен быть запущен отладчиком.

public ref class DkmProcessLaunchRequest : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")]
public class DkmProcessLaunchRequest : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")>]
type DkmProcessLaunchRequest = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmProcessLaunchRequest
Inherits DkmDataContainer
Implements IDisposable
Наследование
DkmProcessLaunchRequest
Атрибуты
Реализации

Свойства

Arguments

Используемых Аргументы, передаваемые в исполняемый файл в командной строке.

Connection

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

DebugLaunchSettings

Параметры, предоставляемые во время начальной операции отладки, из системы проекта или другого вызывающего объекта Лаунчдебугтаржетс (или различных других API-интерфейсов отладки запуска).

EngineSettings

Используемых Параметры, используемые при запуске этого исполняемого файла в отладчике. Это может быть опущено, если процесс не запускается в отладчике (например, CTRL-F5).

Environment

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

Блок среды состоит из завершающего нуль блока строк, заканчивающихся нулем. Каждая строка имеет следующий вид: "имя = value\0". Поскольку знак равенства используется в качестве разделителя, он не должен использоваться в имени переменной среды.

FileName

Путь к исполняемому файлу для запуска.

IsUnloaded

Возвращает значение true, если для данного объекта было вызвано событие "выгружено" (например, вызывается метод Дкмсреад:: Unload), или значение, если объект был закрыт. Обратите внимание, что необходимо использовать осторожность при проверке этого состояния как, без синхронизации, возвращаемое состояние может больше не быть точным после считывания инструкции.

(Унаследовано от DkmDataContainer)
LaunchFlags

Флаги, связанные с запросом на запуск процесса.

         Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. VS14RTM).
ModeFlags

Признаки флага Дкмпроцесслаунчрекуест.

StartupInfo

Используемых Дополнительные сведения, используемые для запуска нового процесса. Эти сведения содержатся в структуре "СТАРТУПИНФО" в Win32.

UniqueId

UniqueId однозначно определяет запрос на запуск.

Win32Flags

Флаги создания процесса Win32, используемые при запуске процесса. Например, можно передать CREATE_NO_WINDOW (0x08000000), чтобы отключить создание окна консоли. Следующие флаги не должны передаваться, и поведение не определено, если они есть: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM и CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

Полный путь к текущему каталогу процесса. В строке можно также указать UNC-путь.

Методы

Close()

Закрывает экземпляр объекта Дкмпроцесслаунчрекуест. При этом будут освобождены все ресурсы, связанные с этим объектом, для всех компонентов. Сюда входят ресурсы на компьютере или в пределах управляемого и машинного маршалинга.

Объекты Дкмпроцесслаунчрекуест автоматически закрываются при закрытии связанных с ними объектов Дкмтранспортконнектион.

Этот метод может вызываться только компонентом, создавшим объект.

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmDataItem)

Создайте новый экземпляр объекта Дкмпроцесслаунчрекуест. Вызывающий объект отвечает за закрытие созданного объекта после его завершения.

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmProcessLaunchFlags, DkmDataItem)

Создайте новый экземпляр объекта Дкмпроцесслаунчрекуест. Вызывающий объект отвечает за закрытие созданного объекта после его завершения.

Этот API появился в Visual Studio 14 RTM (Дкмапиверсион. VS14RTM).

GetDataItem<T>()

Возвращает экземпляр элемента "t", который был добавлен в этот экземпляр контейнера. Если этот контейнер не содержит 'T, эта функция возвратит значение null.

(Унаследовано от DkmDataContainer)
LaunchDebuggedProcess()

Приводит к тому, что монитор отладки создает новый процесс в отладчике. Этот процесс должен оставаться приостановленным до вызова Ресумедебугжедпроцесс. Монитор отладки должен ожидать Ресумедебугжедпроцесс перед созданием объекта Дкмпроцесс, так как ему требуется значение Уникуепроцессид из слоя AD7.

Обратите внимание, что этот метод может быть вызван только в ответ на пакет отладчика Visual Studio, запрашивающий запуск. Компоненты, которые хотят запустить другой процесс в отладчике, должны отправить пользовательское событие в пакет Visual Studio. Из пакета можно запросить запуск с помощью API Ивсдебугжер. Лаунчдебугтаржетс.

LaunchProcess(Int32)

Этот API является версией API-интерфейса Win32 CreateProcess, поддерживающей удаленное доступ. Реализация будет объединять блок среды, обрабатывать перенаправление командной строки и запускать процесс. Если не используется флаг отладки, то при создании процесса Win32 в CreateProcess будет использоваться флаг DEBUG_PROCESS.

RemoveDataItem<T>()

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

(Унаследовано от DkmDataContainer)
ResumeDebuggedProcess(Guid)

Заставляет монитор отладки возобновить запущенный процесс и создать объект Дкмпроцесс. Объект Дкмпроцесс будет создан в потоке событий, и при создании объекта будет отправлено событие создания процесса.

Обратите внимание, что этот метод может быть вызван только в ответ на пакет отладчика Visual Studio, запрашивающий запуск. Компоненты, которые хотят запустить другой процесс в отладчике, должны отправить пользовательское событие в пакет Visual Studio. Из пакета можно запросить запуск с помощью API Ивсдебугжер. Лаунчдебугтаржетс.

ResumeProcess()

Этот API используется для возобновления процесса, который был запущен из CreateProcess, с флагом Лаунчсуспендед, установленным в значение true.

ResumeProcess(DkmProcess)

Этот API используется для возобновления процесса, который был запущен из CreateProcess, с флагом Лаунчсуспендед, установленным в значение true.

Этот API появился в Visual Studio 15 с обновлением 3 (Дкмапиверсион. VS15Update3).

SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)

Явные реализации интерфейса

IDisposable.Dispose()

Будет добавлено.

Применяется к