Skip to main content

dr_get_client_info

Function dr_get_client_info 

Source
pub unsafe extern "C" fn dr_get_client_info(
    process_name: *const c_char,
    pid: process_id_t,
    global: bool_,
    dr_platform: dr_platform_t,
    client_id: client_id_t,
    client_pri: *mut usize,
    client_path: *mut c_char,
    client_options: *mut c_char,
) -> dr_config_status_t
Expand description

Retrieve client registration information for a particular process for the current user. If multiple clients are registered (alternative bitwidth clients are considered separate), information on the highest-priority client is returned.

\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 queried. If pid == 0, the general configuration for process_name will be queried.

\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 unset.

\param[in] client_id The unique client ID provided at client registration.

\param[out] client_pri The client’s priority.

\param[out] client_path The client’s path provided at registration. Callers can pass NULL if this value is not needed. Otherwise, the parameter must be a caller-allocated array of length #MAXIMUM_PATH.

\param[out] client_options The client options provided at registration. Callers can pass NULL if this value is not needed. Otherwise, the parameter must be a caller-allocated array of length #DR_MAX_OPTIONS_LENGTH.

\return A dr_config_status_t code indicating the result of the call.