Data Structures |
| struct | MSICOLUMNHASHENTRY |
| struct | MSICOLUMNINFO |
| struct | MSITABLE |
| struct | MSITABLEVIEW |
| struct | TRANSFORMDATA |
Defines |
| #define | COBJMACROS |
| #define | NONAMELESSUNION |
| #define | NONAMELESSSTRUCT |
| #define | MSITABLE_HASH_TABLE_SIZE 37 |
| #define | MAX_STREAM_NAME 0x1f |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (msidb) |
| static UINT | bytes_per_column (MSIDATABASE *db, const MSICOLUMNINFO *col, UINT bytes_per_strref) |
| static int | utf2mime (int x) |
| LPWSTR | encode_streamname (BOOL bTable, LPCWSTR in) |
| static int | mime2utf (int x) |
| BOOL | decode_streamname (LPCWSTR in, LPWSTR out) |
| void | enum_stream_names (IStorage *stg) |
| UINT | read_stream_data (IStorage *stg, LPCWSTR stname, BOOL table, BYTE **pdata, UINT *psz) |
| UINT | write_stream_data (IStorage *stg, LPCWSTR stname, LPCVOID data, UINT sz, BOOL bTable) |
| static void | msi_free_colinfo (MSICOLUMNINFO *colinfo, UINT count) |
| static void | free_table (MSITABLE *table) |
| static UINT | msi_table_get_row_size (MSIDATABASE *db, const MSICOLUMNINFO *cols, UINT count, UINT bytes_per_strref) |
| static UINT | read_table_from_storage (MSIDATABASE *db, MSITABLE *t, IStorage *stg) |
| void | free_cached_tables (MSIDATABASE *db) |
| static MSITABLE * | find_cached_table (MSIDATABASE *db, LPCWSTR name) |
| static void | table_calc_column_offsets (MSIDATABASE *db, MSICOLUMNINFO *colinfo, DWORD count) |
| static UINT | get_defaulttablecolumns (MSIDATABASE *db, LPCWSTR name, MSICOLUMNINFO *colinfo, UINT *sz) |
| static UINT | get_tablecolumns (MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINFO *colinfo, UINT *sz) |
| static UINT | table_get_column_info (MSIDATABASE *db, LPCWSTR name, MSICOLUMNINFO **pcols, UINT *pcount) |
| static UINT | get_table (MSIDATABASE *db, LPCWSTR name, MSITABLE **table_ret) |
| static UINT | read_table_int (BYTE *const *data, UINT row, UINT col, UINT bytes) |
| UINT | msi_create_table (MSIDATABASE *db, LPCWSTR name, column_info *col_info, MSICONDITION persistent) |
| static UINT | save_table (MSIDATABASE *db, const MSITABLE *t, UINT bytes_per_strref) |
| static void | msi_update_table_columns (MSIDATABASE *db, LPCWSTR name) |
| BOOL | TABLE_Exists (MSIDATABASE *db, LPCWSTR name) |
| static UINT | TABLE_fetch_int (struct tagMSIVIEW *view, UINT row, UINT col, UINT *val) |
| static UINT | msi_stream_name (const MSITABLEVIEW *tv, UINT row, LPWSTR *pstname) |
| static UINT | TABLE_fetch_stream (struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm) |
| static UINT | TABLE_set_int (MSITABLEVIEW *tv, UINT row, UINT col, UINT val) |
| static UINT | TABLE_get_row (struct tagMSIVIEW *view, UINT row, MSIRECORD **rec) |
| static UINT | msi_addstreamW (MSIDATABASE *db, LPCWSTR name, IStream *data) |
| static UINT | get_table_value_from_record (MSITABLEVIEW *tv, MSIRECORD *rec, UINT iField, UINT *pvalue) |
| static UINT | TABLE_set_row (struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UINT mask) |
| static UINT | table_create_new_row (struct tagMSIVIEW *view, UINT *num, BOOL temporary) |
| static UINT | TABLE_execute (struct tagMSIVIEW *view, MSIRECORD *record) |
| static UINT | TABLE_close (struct tagMSIVIEW *view) |
| static UINT | TABLE_get_dimensions (struct tagMSIVIEW *view, UINT *rows, UINT *cols) |
| static UINT | TABLE_get_column_info (struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name) |
| static UINT | msi_table_find_row (MSITABLEVIEW *tv, MSIRECORD *rec, UINT *row, UINT *column) |
| static UINT | table_validate_new (MSITABLEVIEW *tv, MSIRECORD *rec, UINT *column) |
| static int | compare_record (MSITABLEVIEW *tv, UINT row, MSIRECORD *rec) |
| static int | find_insert_index (MSITABLEVIEW *tv, MSIRECORD *rec) |
| static UINT | TABLE_insert_row (struct tagMSIVIEW *view, MSIRECORD *rec, UINT row, BOOL temporary) |
| static UINT | TABLE_delete_row (struct tagMSIVIEW *view, UINT row) |
| static UINT | msi_table_update (struct tagMSIVIEW *view, MSIRECORD *rec, UINT row) |
| static UINT | msi_table_assign (struct tagMSIVIEW *view, MSIRECORD *rec) |
| static UINT | modify_delete_row (struct tagMSIVIEW *view, MSIRECORD *rec) |
| static UINT | msi_refresh_record (struct tagMSIVIEW *view, MSIRECORD *rec, UINT row) |
| static UINT | TABLE_modify (struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec, UINT row) |
| static UINT | TABLE_delete (struct tagMSIVIEW *view) |
| static UINT | TABLE_find_matching_rows (struct tagMSIVIEW *view, UINT col, UINT val, UINT *row, MSIITERHANDLE *handle) |
| static UINT | TABLE_add_ref (struct tagMSIVIEW *view) |
| static UINT | TABLE_remove_column (struct tagMSIVIEW *view, LPCWSTR table, UINT number) |
| static UINT | TABLE_release (struct tagMSIVIEW *view) |
| static UINT | TABLE_add_column (struct tagMSIVIEW *view, LPCWSTR table, UINT number, LPCWSTR column, UINT type, BOOL hold) |
| static UINT | TABLE_drop (struct tagMSIVIEW *view) |
| UINT | TABLE_CreateView (MSIDATABASE *db, LPCWSTR name, MSIVIEW **view) |
| UINT | MSI_CommitTables (MSIDATABASE *db) |
| MSICONDITION | MSI_DatabaseIsTablePersistent (MSIDATABASE *db, LPCWSTR table) |
| static UINT | read_raw_int (const BYTE *data, UINT col, UINT bytes) |
| static UINT | msi_record_encoded_stream_name (const MSITABLEVIEW *tv, MSIRECORD *rec, LPWSTR *pstname) |
| static MSIRECORD * | msi_get_transform_record (const MSITABLEVIEW *tv, const string_table *st, IStorage *stg, const BYTE *rawdata, UINT bytes_per_strref) |
| static void | dump_record (MSIRECORD *rec) |
| static void | dump_table (const string_table *st, const USHORT *rawdata, UINT rawsize) |
| static UINT * | msi_record_to_row (const MSITABLEVIEW *tv, MSIRECORD *rec) |
| static UINT | msi_row_matches (MSITABLEVIEW *tv, UINT row, const UINT *data, UINT *column) |
| static UINT | msi_table_load_transform (MSIDATABASE *db, IStorage *stg, string_table *st, TRANSFORMDATA *transform, UINT bytes_per_strref) |
| UINT | msi_table_apply_transform (MSIDATABASE *db, IStorage *stg) |
Variables |
| static const WCHAR | szTables [] = {'_','T','a','b','l','e','s',0} |
| static const WCHAR | szTable [] = {'T','a','b','l','e',0} |
| static const WCHAR | szColumns [] = {'_','C','o','l','u','m','n','s',0} |
| static const WCHAR | szNumber [] = {'N','u','m','b','e','r',0} |
| static const WCHAR | szType [] = {'T','y','p','e',0} |
| static const MSICOLUMNINFO | _Columns_cols [4] |
| static const MSICOLUMNINFO | _Tables_cols [1] |
| static const MSIVIEWOPS | table_ops |