Compartir a través de


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

Consulte también