Typedefs | |
| typedef LEVEL_BASE::CHILD_PROCESS_CLASS * | LEVEL_PINCLIENT::CHILD_PROCESS |
| typedef BOOL(*) | LEVEL_PINCLIENT::FOLLOW_CHILD_PROCESS_CALLBACK (CHILD_PROCESS childProcess, VOID *val) |
Functions | |
| OS_PROCESS_ID | LEVEL_PINCLIENT::CHILD_PROCESS_GetId (CHILD_PROCESS childProcess) |
| VOID | LEVEL_PINCLIENT::CHILD_PROCESS_GetCommandLine (CHILD_PROCESS childProcess, INT *pArgc, const CHAR *const **pArgv) |
| VOID | LEVEL_PINCLIENT::CHILD_PROCESS_SetPinCommandLine (CHILD_PROCESS childProcess, INT argc, const CHAR *const *argv) |
| typedef LEVEL_BASE::CHILD_PROCESS_CLASS* LEVEL_PINCLIENT::CHILD_PROCESS |
CHILD_PROCESS - Handle for child process APIs
| typedef BOOL(*) LEVEL_PINCLIENT::FOLLOW_CHILD_PROCESS_CALLBACK(CHILD_PROCESS childProcess, VOID *val) |
Call back function before child(Windows*)/exec-ed(Linux*) process is starting to execute. The function can be registered by PIN_AddFollowChildProcessFunction().
| [in] | childProcess | Child process handle, it's lifetime is in the scope of the callback |
| [in] | val | The tool's call-back value |
| VOID LEVEL_PINCLIENT::CHILD_PROCESS_GetCommandLine | ( | CHILD_PROCESS | childProcess, | |
| INT * | pArgc, | |||
| const CHAR *const ** | pArgv | |||
| ) |
Get application's original command line (without Pin's command line)
| [in] | childProcess | child process handle |
| [out] | pArgc | pointer to application's argc |
| [out] | pArgv | pointer to application's argv this data is allocated by Pin and can't be modified by tool, it's lifetime is in the scope of the callback |
| OS_PROCESS_ID LEVEL_PINCLIENT::CHILD_PROCESS_GetId | ( | CHILD_PROCESS | childProcess | ) |
Get process id of child process (meaningful only for Windows*)
| [in] | childProcess | child process handle |
| VOID LEVEL_PINCLIENT::CHILD_PROCESS_SetPinCommandLine | ( | CHILD_PROCESS | childProcess, | |
| INT | argc, | |||
| const CHAR *const * | argv | |||
| ) |
Set Pin's (and tool's) command line for the child process (e.g. "c:\\pin_path\\pin -probe -follow_execv -t c:\\pintool_path\\tool --")
If this API is not called, Pin will be injected into child/exec-ed process with the same command line as of current process.
NOTE:
| [in] | childProcess | handle to child process |
| [in] | argc | Pin's (and tool's) argc |
| [in] | argv | Pin's (and tool's) argv, this data is allocated by tool and can't be modified by Pin, it's lifetime is in the scope of this function |
1.5.1-p1