Método IDebugClient5::CreateProcessAndAttach2Wide (dbgeng.h)
El método CreateProcessAndAttach2Wide crea un proceso a partir de una línea de comandos especificada y, a continuación, se asocia a ese proceso u otro proceso en modo de usuario.
Sintaxis
HRESULT CreateProcessAndAttach2Wide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCWSTR InitialDirectory,
[in, optional] PCWSTR Environment,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parámetros
[in] Server
Especifica el servidor de procesos que se va a usar para asociarlo al proceso. Si Server es cero, el motor se conectará al proceso local sin usar un servidor de procesos.
[in, optional] CommandLine
Especifica la línea de comandos que se va a ejecutar para crear el nuevo proceso. Si CommandLine es NULL, no se crea ningún proceso y estos métodos usarán ProcessId para asociarse a un proceso existente.
[in] OptionsBuffer
Especifica las opciones de creación del proceso. 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. Este parámetro solo se usa si CommandLine no es NULL. 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.
[in] ProcessId
Especifica el identificador de proceso del proceso de destino al que se asociará el depurador. Si ProcessID es cero, el depurador se asociará al proceso que creó a partir de CommandLine.
[in] AttachFlags
Especifica las marcas que controlan cómo se asocia el depurador al proceso de destino. Para más información sobre estas marcas, consulte DEBUG_ATTACH_XXX.
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 |
---|---|
|
Método realizado correctamente. |
|
Se devuelve si CommandLine es NULL y ProcessId es cero. |
Comentarios
Este método solo está disponible para la depuración en modo usuario activo.
Si CommandLine no es NULL y ProcessId no es cero, el motor creará el proceso en un estado suspendido. El motor reanudará este proceso recién creado después de que se conecte correctamente al proceso especificado en ProcessId.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | dbgeng.h (include Dbgeng.h) |