Defines |
| #define | REG_VAL_BUF_SIZE 4096 |
| #define | REG_FILE_HEX_LINE_LEN (2 + 25 * 3) |
| #define | REG_CLASS_NUMBER (sizeof(reg_class_names) / sizeof(reg_class_names[0])) |
| #define | NOT_ENOUGH_MEMORY 1 |
| #define | IO_ERROR 2 |
| #define | CHECK_ENOUGH_MEMORY(p) |
Functions |
| WCHAR * | GetWideString (const char *strA) |
| static WCHAR * | GetWideStringN (const char *strA, int chars, DWORD *len) |
| char * | GetMultiByteString (const WCHAR *strW) |
| static char * | GetMultiByteStringN (const WCHAR *strW, int chars, DWORD *len) |
| static BOOL | convertHexToDWord (WCHAR *str, DWORD *dw) |
| static BYTE * | convertHexCSVToHex (WCHAR *str, DWORD *size) |
| static DWORD | getDataType (LPWSTR *lpValue, DWORD *parse_type) |
| static void | REGPROC_unescape_string (WCHAR *str) |
| static BOOL | parseKeyName (LPWSTR lpKeyName, HKEY *hKey, LPWSTR *lpKeyPath) |
| static LONG | setValue (WCHAR *val_name, WCHAR *val_data, BOOL is_unicode) |
| static LONG | openKeyW (WCHAR *stdInput) |
| static void | closeKey (void) |
| static void | processSetValue (WCHAR *line, BOOL is_unicode) |
| static void | processRegEntry (WCHAR *stdInput, BOOL isUnicode) |
| static void | processRegLinesA (FILE *in) |
| static void | processRegLinesW (FILE *in) |
| static void | REGPROC_print_error (void) |
| static void | REGPROC_resize_char_buffer (WCHAR **buffer, DWORD *len, DWORD required_len) |
| static void | REGPROC_resize_binary_buffer (BYTE **buffer, DWORD *size, DWORD required_size) |
| static void | REGPROC_export_string (WCHAR **line_buf, DWORD *line_buf_size, DWORD *line_len, WCHAR *str, DWORD str_len) |
| static void | REGPROC_export_binary (WCHAR **line_buf, DWORD *line_buf_size, DWORD *line_len, DWORD type, BYTE *value, DWORD value_size, BOOL unicode) |
| static void | REGPROC_write_line (FILE *file, const WCHAR *str, BOOL unicode) |
| static void | export_hkey (FILE *file, HKEY key, WCHAR **reg_key_name_buf, DWORD *reg_key_name_size, WCHAR **val_name_buf, DWORD *val_name_size, BYTE **val_buf, DWORD *val_size, WCHAR **line_buf, DWORD *line_buf_size, BOOL unicode) |
| static FILE * | REGPROC_open_export_file (WCHAR *file_name, BOOL unicode) |
| BOOL | export_registry_key (WCHAR *file_name, WCHAR *reg_key_name, DWORD format) |
| BOOL | import_registry_file (FILE *reg_file) |
| void | delete_registry_key (WCHAR *reg_key_name) |
Variables |
| static const CHAR * | reg_class_names [] |
| const WCHAR * | reg_class_namesW [REG_CLASS_NUMBER] |
| static HKEY | reg_class_keys [REG_CLASS_NUMBER] |
| static LPSTR | currentKeyName |
| static HKEY | currentKeyHandle = NULL |