Condividi tramite


Metodo IDebugClient5::CreateProcess2 (dbgeng.h)

Il metodo CreateProcess2 esegue il comando specificato per creare un nuovo processo.

Sintassi

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

Parametri

[in] Server

Specifica il server di elaborazione che verrà collegato al processo. Se Server è zero, il motore creerà il processo locale senza usare un server di elaborazione.

[in] CommandLine

Specifica la riga di comando da eseguire per creare il nuovo processo.

[in] OptionsBuffer

Specifica le opzioni di creazione del processo. OptionsBuffer è un puntatore a una struttura DEBUG_CREATE_PROCESS_OPTIONS .

[in] OptionsBufferSize

Specifica le dimensioni del buffer OptionsBuffer. Deve essere impostato su sizeof(DEBUG_CREATE_PROCESS_OPTIONS).

[in, optional] InitialDirectory

Specifica la directory iniziale per il processo. Se InitialDirectory è NULL, viene utilizzata la directory corrente per il server di elaborazione.

[in, optional] Environment

Specifica un blocco di ambiente per il nuovo processo. Un blocco di ambiente è costituito da un blocco con terminazione Null di stringhe con terminazione Null. Ogni stringa è nel formato seguente:

name=value

Si noti che gli ultimi due caratteri del blocco di ambiente sono entrambi NULL: uno per terminare la stringa e uno per terminare il blocco.

Se Environment è impostato su NULL, il nuovo processo eredita il blocco di ambiente del server di elaborazione. Se il flag DEBUG_CREATE_PROCESS_THROUGH_RTL è impostato in OptionsBuffer, Environment deve essere NULL.

Valore restituito

Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere Valori restituiti .

Codice restituito Descrizione
S_OK
Il metodo è stato eseguito correttamente.

Commenti

Questo metodo è disponibile solo per il debug in modalità utente attiva.

Se CreateFlags contiene uno dei flag DEBUG_PROCESS o DEBUG_ONLY_THIS_PROCESS, il motore verrà collegato anche al processo appena creato. Questo comportamento è simile a CreateProcessAndAttach2 con l'argomento ProcessId impostato su zero.

Per altre informazioni sulla creazione e la connessione a destinazioni in modalità utente live, vedere Destinazioni di live User-Mode.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (include Dbgeng.h)

Vedi anche

.create (crea processo)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess