pub unsafe extern "C" fn dr_register_inject_paths(
process_name: *const c_char,
pid: process_id_t,
global: bool_,
dr_platform: dr_platform_t,
dr_lib_path: *const c_char,
dr_alt_lib_path: *const c_char,
) -> dr_config_status_tExpand description
Sets the paths to the DynamoRIO library and the alternate-bitwidth DynamoRIO library for a process that has already been registered via dr_register_process(). If this routine is not called, default library paths will be used which assume a default path layout within the \p dr_root_dir passed to dr_register_process().
\param[in] process_name A NULL-terminated string specifying the name of the target process. The string should identify the base name of the process, not the full path of the executable (e.g., calc.exe).
\param[in] pid A process id of a target process, typically just created and suspended via dr_inject_process_exit(). If pid != 0, the one-time configuration for that pid will be modified. If pid == 0, the general configuration for process_name will be modified.
\param[in] global Whether to use global or user-local config files. On Windows, global config files are stored in a dir pointed at by the DYNAMORIO_HOME registry key. On Linux, they are in /etc/dynamorio. Administrative privileges may be needed if global is true. Note that DynamoRIO gives local config files precedence when both exist. The caller must separately create the global directory.
\param[in] dr_platform Configurations are kept separate for 32-bit processes and 64-bit processes. This parameter allows selecting which of those configurations to check.
\param[in] dr_lib_path A NULL-terminated string specifying the full path to a valid DynamoRIO library of the same bitwidth as \p dr_platform. The string length cannot exceed #MAXIMUM_PATH.
\param[in] dr_alt_lib_path A NULL-terminated string specifying the full path to a valid DynamoRIO library of the alternative bitwidth to \p dr_platform. The string length cannot exceed #MAXIMUM_PATH.
\return A dr_config_status_t code indicating the result of registration. Note that registration fails if the requested process is already registered. To modify a process’s registration, first call dr_unregister_process() to remove an existing registration.
\remarks After registration, a process will run under DynamoRIO when launched by the drinject tool or using drinjectlib. Note that some processes may require a system reboot to restart. Process registration that is not specific to one pid (i.e., if \p pid == 0) persists across reboots until explicitly unregistered.