Compartir a través de


Método IDebugClient5::CreateProcess2 (dbgeng.h)

El método CreateProcess2 ejecuta el comando especificado para crear un nuevo proceso.

Sintaxis

HRESULT CreateProcess2(
  [in]           ULONG64 Server,
  [in]           PSTR    CommandLine,
  [in]           PVOID   OptionsBuffer,
  [in]           ULONG   OptionsBufferSize,
  [in, optional] PCSTR   InitialDirectory,
  [in, optional] PCSTR   Environment
);

Parámetros

[in] Server

Especifica el servidor de procesos que se asociará al proceso. Si El servidor es cero, el motor creará el proceso local sin usar un servidor de procesos.

[in] CommandLine

Especifica la línea de comandos que se va a ejecutar para crear el nuevo proceso.

[in] OptionsBuffer

Especifica las opciones de creación de procesos. OptionsBuffer es un puntero a una estructura de DEBUG_CREATE_PROCESS_OPTIONS .

[in] OptionsBufferSize

Especifica el tamaño del búfer OptionsBuffer. Debe establecerse en sizeof(DEBUG_CREATE_PROCESS_OPTIONS).

[in, optional] InitialDirectory

Especifica el directorio inicial del proceso. Si InitialDirectory es NULL, se usa el directorio actual del servidor de procesos.

[in, optional] Environment

Especifica un bloque de entorno para el nuevo proceso. Un bloque de entorno consta de un bloque terminado en null de cadenas terminadas en NULL. Cada cadena tiene el formato:

name=value

Tenga en cuenta que los dos últimos caracteres del bloque de entorno son NULL: uno para finalizar la cadena y otro para finalizar el bloque.

Si Environment se establece en NULL, el nuevo proceso hereda el bloque de entorno del servidor de procesos. Si la marca DEBUG_CREATE_PROCESS_THROUGH_RTL se establece en OptionsBuffer, El entorno debe ser NULL.

Valor devuelto

Este método también puede devolver valores de error. Consulte Valores devueltos para obtener más detalles.

Código devuelto Descripción
S_OK
Método realizado correctamente.

Comentarios

Este método solo está disponible para la depuración en modo usuario activo.

Si CreateFlags contiene cualquiera de las marcas DEBUG_PROCESS o DEBUG_ONLY_THIS_PROCESS, el motor también se asociará al proceso recién creado. Esto es similar al comportamiento de CreateProcessAndAttach2 con su argumento ProcessId establecido en cero.

Para obtener más información sobre cómo crear y adjuntar a destinos en modo de usuario dinámicos, consulte Destinos de Live User-Mode.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)

Consulte también

.create (Crear proceso)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess