Metodo IDebugClient5::CreateProcessAndAttach2 (dbgeng.h)
Il metodo CreateProcessAndAttach2 crea un processo da una riga di comando specificata, quindi collega a tale processo o a un altro processo in modalità utente.
Sintassi
HRESULT CreateProcessAndAttach2(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCSTR InitialDirectory,
[in, optional] PCSTR Environment,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parametri
[in] Server
Specifica il server di elaborazione da usare per collegare il processo. Se Server è zero, il motore si connetterà al processo locale senza usare un server di elaborazione.
[in, optional] CommandLine
Specifica la riga di comando da eseguire per creare il nuovo processo. Se CommandLine è NULL, non viene creato alcun processo e questi metodi useranno ProcessId per collegare un processo esistente.
[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. Questa opzione deve essere impostata su sizeof(DEBUG_CREATE_PROCESS_OPTIONS).
[in, optional] InitialDirectory
Specifica la directory iniziale per il processo. Questo parametro viene usato solo se CommandLine non è NULL. Se InitialDirectory è NULL, viene usata 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 è del modulo:
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 l'ambiente è 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, l'ambiente deve essere NULL.
[in] ProcessId
Specifica l'ID processo del processo di destinazione a cui verrà collegato il debugger. Se ProcessID è zero, il debugger verrà collegato al processo creato da CommandLine.
[in] AttachFlags
Specifica i flag che controllano il modo in cui il debugger si collega al processo di destinazione. Per informazioni dettagliate su questi flag, vedere DEBUG_ATTACH_XXX.
Valore restituito
Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
|
Viene restituito se CommandLine è NULL e ProcessId è zero. |
Commenti
Questo metodo è disponibile solo per il debug in modalità utente live.
Se CommandLine non è NULL e ProcessId non è zero, il motore creerà il processo in uno stato sospeso. Il motore riprenderà questo processo appena creato dopo che si connette correttamente al processo specificato in ProcessId.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (includere Dbgeng.h) |