ICorDebug::CreateProcess (Método)
Inicia un proceso y su subproceso principal bajo el control del depurador.
Sintaxis
HRESULT CreateProcess (
[in] LPCWSTR lpApplicationName,
[in] LPWSTR lpCommandLine,
[in] LPSECURITY_ATTRIBUTES lpProcessAttributes,
[in] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] BOOL bInheritHandles,
[in] DWORD dwCreationFlags,
[in] PVOID lpEnvironment,
[in] LPCWSTR lpCurrentDirectory,
[in] LPSTARTUPINFOW lpStartupInfo,
[in] LPPROCESS_INFORMATION lpProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
Parámetros
lpApplicationName
[in] Puntero a una cadena terminada en NULL que especifica el módulo que va a ejecutar el proceso iniciado. El módulo se ejecuta en el contexto de seguridad del proceso de llamada.
lpCommandLine
[in] Puntero a una cadena terminada en null que especifica la línea de comandos que va a ejecutar el proceso iniciado. El nombre de la aplicación (por ejemplo, "SomeApp.exe") debe ser el primer argumento.
lpProcessAttributes
[in] Puntero a una estructura Win32 SECURITY_ATTRIBUTES
que especifica el descriptor de seguridad para el proceso. Si lpProcessAttributes
es null, el proceso obtiene un descriptor de seguridad predeterminado.
lpThreadAttributes
[in] Puntero a una estructura Win32 SECURITY_ATTRIBUTES
que especifica el descriptor de seguridad para el subproceso principal del proceso. Si lpThreadAttributes
es null, el subproceso obtiene un descriptor de seguridad predeterminado.
bInheritHandles
[in] true
Establézcalo en para indicar que el proceso iniciado hereda cada identificador heredado del proceso de llamada, o false
para indicar que los identificadores no se heredan. Los manipuladores heredados tienen el mismo valor y derechos de acceso que los manipuladores originales.
dwCreationFlags
[in] Combinación bit a bit de las marcas de creación de procesos win32 que controlan la clase de prioridad y el comportamiento del proceso iniciado.
lpEnvironment
[in] Puntero a un bloque de entorno para el nuevo proceso.
lpCurrentDirectory
[in] Puntero a una cadena terminada en null que especifica la ruta de acceso completa al directorio actual para el proceso. Si este parámetro es null, el nuevo proceso tendrá la misma unidad y directorio actuales que el proceso de llamada.
lpStartupInfo
[in] Puntero a una estructura Win32 STARTUPINFOW
que especifica la estación de ventana, el escritorio, los identificadores estándar y la apariencia de la ventana principal para el proceso iniciado.
lpProcessInformation
[in] Puntero a una estructura Win32 PROCESS_INFORMATION
que especifica la información de identificación sobre el proceso que se va a iniciar.
debuggingFlags
[in] Valor de la enumeración CorDebugCreateProcessFlags que especifica las opciones de depuración.
ppProcess
[out] Puntero a la dirección de un objeto ICorDebugProcess que representa el proceso.
Comentarios
Los parámetros de este método son los mismos que los del método de Win32 CreateProcess
.
Para habilitar la depuración en modo mixto no administrado, establezca dwCreationFlags
en DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Si solo desea usar la depuración administrada, no establezca estas marcas.
Si el depurador y el proceso que se va a depurar (el proceso asociado) comparten una sola consola y, si se usa la depuración de interoperabilidad, es posible que el proceso asociado mantenga bloqueos de consola y se detenga en un evento de depuración. A continuación, el depurador bloqueará cualquier intento de usar la consola. Para evitar este problema, establezca la marca CREATE_NEW_CONSOLE en el parámetro dwCreationFlags
.
La depuración de interoperabilidad no se admite en plataformas Win9x y no x86, como en plataformas basadas en IA-64 y AMD64.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: está disponible desde la versión 1.0