Compartir a través de


ICorDebug::CreateProcess (Método)

Inicia un proceso y su subproceso principal bajo el control del depurador.

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 nulo 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 nulo que especifica la línea de comandos que va a ejecutar el proceso iniciado.

  • lpProcessAttributes
    [in] Puntero a una estructura SECURITY_ATTRIBUTES de Win32 que especifica el descriptor de seguridad del proceso. Si lpProcessAttributes es NULL, el proceso obtiene un descriptor de seguridad predeterminado.

  • lpThreadAttributes
    [in] Puntero a una estructura SECURITY_ATTRIBUTES de Win32 que especifica el descriptor de seguridad del subproceso principal del proceso. Si lpThreadAttributes es NULL, el subproceso obtiene un descriptor de seguridad predeterminado.

  • bInheritHandles
    [in] Establézcalo en true para indicar que el proceso iniciado hereda todos los identificadores heredables del proceso de llamada o en false para indicar que no se heredan los identificadores. Los identificadores heredados tienen el mismo valor y derechos de acceso que los identificadores originales.

  • dwCreationFlags
    [in] Combinación bit a bit de los marcadores de creación de procesos de Win32 que controlan la clase de prioridad y el comportamiento del proceso iniciado.

  • lpEnvironment
    [in] Puntero a un bloque del entorno para el nuevo proceso.

  • lpCurrentDirectory
    [in] Puntero a una cadena terminada en nulo que especifica la ruta de acceso completa al directorio del 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 STARTUPINFOW de Win32 que especifica la estación de ventana, el escritorio, los identificadores estándar y el aspecto de la ventana principal para el proceso iniciado.

  • lpProcessInformation
    [in] Puntero a una estructura PROCESS_INFORMATION de Win32 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 CreateProcess de Win32.

Para habilitar la depuración en modo mixto no administrada, establezca dwCreationFlags en DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Si sólo desea utilizar la depuración administrada, no defina estos marcadores.

Si el depurador y el proceso que se va a depurar (el proceso asociado) comparten una misma consola y se utiliza la depuración de interoperabilidad, es posible que el proceso asociado bloquee la consola y se detenga durante un evento de depuración. El depurador bloqueará a continuación cualquier intento de utilizar la consola. Para evitar este problema, establezca el marcador CREATE_NEW_CONSOLE en el parámetro dwCreationFlags.

La depuración de interoperabilidad no se admite en Win9x ni en plataformas que no son x86 como IA-64 y AMD64.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Referencia

ICorDebug (Interfaz)