61 LPCWSTR col_name, haystack_table_name;
73 NULL, &haystack_table_name );
78 x |=
wcscmp( table_name, haystack_table_name );
177 for(
n = 0; (
max == 0) || (
n <
max);
n++ )
261 ret = remote_DatabaseOpenView(remote, szQuery, &remote_view);
293 ret =
view->ops->get_dimensions(
view, &row_count, &col_count);
300 for (
i = 1;
i <= col_count;
i++)
305 ERR(
"Error getting column type for %d\n",
i);
317 IStream_Release(stm);
320 WARN(
"failed to get stream\n");
328 ERR(
"Error fetching data for %d\n",
i);
333 ERR(
"Invalid type!\n");
355 UINT row_count = 0, col_count = 0,
r;
360 if ((
r =
view->ops->get_dimensions(
view, &row_count, &col_count)))
363 if (
row >= row_count)
427 ret = remote_ViewFetch(remote, &wire_rec);
463 if( !
view->ops->close )
474 TRACE(
"%lu\n", hView );
486 ret = remote_ViewClose(remote);
511 if( !
view->ops->execute )
515 return view->ops->execute(
view, rec );
524 TRACE(
"%lu, %lu\n", hView, hRec );
613 if( !
view->ops->get_dimensions )
647 TRACE(
"%lu, %d, %p\n", hView,
info, hRec );
666 r = remote_ViewGetColumnInfo(remote,
info, &wire_rec);
702 if ( !
query || !rec )
725 TRACE(
"%lu, %#x, %lu\n", hView, eModifyMode, hRecord );
743 r = remote_ViewModify(remote, eModifyMode,
793 r = remote_ViewGetError(remote, &remote_column);
844 r = remote_ViewGetError(remote, &remote_column);
891 WARN(
"failed to open substorage transform %#lx\n",
hr );
900 WARN(
"failed to open file transform %#lx\n",
hr );
905 hr = IStorage_Stat( stg, &
stat, STATFLAG_NONAME );
913 IStorage_Release( stg );
949 int iReserved1,
int iReserved2 )
951 FIXME(
"%lu, %lu, %s, %d, %d\n", hdb, hdbref,
debugstr_a(szTransformFile), iReserved1, iReserved2 );
956 int iReserved1,
int iReserved2 )
958 FIXME(
"%lu, %lu, %s, %d, %d\n", hdb, hdbref,
debugstr_w(szTransformFile), iReserved1, iReserved2 );
967 TRACE(
"%lu\n", hdb );
977 WARN(
"not allowed during a custom action!\n");
1062 TRACE(
"found %lu primary keys\n",
info.n );
1097 r = remote_DatabaseGetPrimaryKeys(remote,
table, &wire_rec);
1160 free( szwTableName );
1182 r = remote_DatabaseIsTablePersistent(remote, szTableName);
1267 *remote_refreshed =
NULL;
unsigned long long UINT64
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_init(struct list_entry *head)
#define ERROR_NOT_ENOUGH_MEMORY
static const WCHAR empty[]
static WCHAR * strdupAtoW(const char *str)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define ERROR_NO_MORE_ITEMS
#define ERROR_INVALID_HANDLE
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr)
void msiobj_lock(MSIOBJECTHDR *info)
void * alloc_msiobject(UINT type, UINT size, msihandledestructor destroy)
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
MSIHANDLE msi_get_remote(MSIHANDLE handle)
void msiobj_addref(MSIOBJECTHDR *info)
UINT WINAPI MsiCloseHandle(MSIHANDLE handle)
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote)
int msiobj_release(MSIOBJECTHDR *info)
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
void msiobj_unlock(MSIOBJECTHDR *info)
UINT msi_strncpyW(const WCHAR *str, int len, WCHAR *buf, DWORD *sz)
UINT msi_strncpyWtoA(const WCHAR *str, int lenW, char *buf, DWORD *sz, BOOL remote)
HRESULT WINAPI StgOpenStorage(const OLECHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLuint GLenum GLenum transform
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static _Check_return_opt_ int __cdecl vswprintf(_Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, _In_ size_t _SizeInWords, _In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList)
int MSI_RecordGetInteger(MSIRECORD *, UINT)
#define MSIHANDLETYPE_DATABASE
UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int)
UINT copy_remote_record(const struct wire_record *rec, MSIHANDLE handle)
BOOL TABLE_Exists(MSIDATABASE *db, LPCWSTR name)
#define MSIHANDLETYPE_RECORD
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int)
UINT MSI_RecordSetIStream(MSIRECORD *, UINT, IStream *)
#define MSITYPE_IS_BINARY(type)
UINT msi_commit_streams(MSIDATABASE *db)
UINT(* record_func)(MSIRECORD *, LPVOID)
UINT msi_table_apply_transform(MSIDATABASE *db, IStorage *stg, int err_cond)
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT)
const WCHAR * msi_string_lookup(const string_table *st, UINT id, int *len)
#define MSI_OPEN_READONLY
void enum_stream_names(IStorage *stg)
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table)
void free_remote_record(struct wire_record *rec)
#define MSIHANDLETYPE_VIEW
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR)
MSIRECORD * MSI_CreateRecord(UINT)
struct wire_record * marshal_record(MSIHANDLE handle)
#define MSITYPE_LOCALIZABLE
UINT MSI_CommitTables(MSIDATABASE *db)
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out)
UINT WINAPI MsiViewModify(MSIHANDLE hView, MSIMODIFY eModifyMode, MSIHANDLE hRecord)
UINT WINAPI MsiViewClose(MSIHANDLE hView)
UINT msi_view_get_row(MSIDATABASE *db, MSIVIEW *view, UINT row, MSIRECORD **rec)
UINT msi_view_refresh_row(MSIDATABASE *db, MSIVIEW *view, UINT row, MSIRECORD *rec)
static void MSI_CloseView(MSIOBJECTHDR *arg)
MSIDBERROR WINAPI MsiViewGetErrorW(MSIHANDLE handle, WCHAR *buffer, DWORD *buflen)
UINT __cdecl s_remote_ViewGetColumnInfo(MSIHANDLE view, MSICOLINFO info, struct wire_record **rec)
UINT __cdecl s_remote_ViewFetch(MSIHANDLE view, struct wire_record **rec)
UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE hdb, const char *transform, int error_cond)
UINT MSI_IterateRecords(MSIQUERY *view, LPDWORD count, record_func func, LPVOID param)
UINT WINAPI MsiViewExecute(MSIHANDLE hView, MSIHANDLE hRec)
UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE hdb, MSIHANDLE hdbref, const char *szTransformFile, int iReserved1, int iReserved2)
UINT __cdecl s_remote_ViewModify(MSIHANDLE view, MSIMODIFY mode, struct wire_record *remote_rec, struct wire_record **remote_refreshed)
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, const WCHAR *transform, int error_cond)
UINT MSI_ViewGetColumnInfo(MSIQUERY *query, MSICOLINFO info, MSIRECORD **prec)
UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE hdb, const WCHAR *transform, int error_cond)
static UINT set_record_type_string(MSIRECORD *rec, UINT field, UINT type, BOOL temporary)
UINT MSI_ViewExecute(MSIQUERY *query, MSIRECORD *rec)
UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE hdb, MSIHANDLE hdbref, const WCHAR *szTransformFile, int iReserved1, int iReserved2)
UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE hdb, const char *table, MSIHANDLE *phRec)
UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE hdb, LPCWSTR szQuery, MSIHANDLE *phView)
UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE hdb, const WCHAR *table, MSIHANDLE *phRec)
UINT WINAPI MsiDatabaseCommit(MSIHANDLE hdb)
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *db, const WCHAR *table, MSIRECORD **prec)
UINT MSI_ViewClose(MSIQUERY *query)
MSIRECORD *WINAPIV MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR fmt,...)
UINT MSI_ViewFetch(MSIQUERY *query, MSIRECORD **prec)
UINT __cdecl s_remote_ViewExecute(MSIHANDLE view, struct wire_record *remote_rec)
MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE handle, char *buffer, DWORD *buflen)
MSIDBERROR __cdecl s_remote_ViewGetError(MSIHANDLE view, LPWSTR *column)
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(MSIHANDLE hDatabase, const WCHAR *szTableName)
UINT VIEW_find_column(MSIVIEW *table, LPCWSTR name, LPCWSTR table_name, UINT *n)
UINT __cdecl s_remote_ViewClose(MSIHANDLE view)
UINT MSI_DatabaseOpenViewW(MSIDATABASE *db, const WCHAR *szQuery, MSIQUERY **pView)
UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hRec)
UINT WINAPIV MSI_OpenQuery(MSIDATABASE *db, MSIQUERY **view, LPCWSTR fmt,...)
UINT MSI_ViewModify(MSIQUERY *query, MSIMODIFY mode, MSIRECORD *rec)
UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE hdb, const char *szQuery, MSIHANDLE *phView)
static UINT primary_key_iterator(MSIRECORD *rec, void *param)
UINT WINAPI MsiViewFetch(MSIHANDLE hView, MSIHANDLE *record)
MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE hDatabase, const char *szTableName)
MSIHANDLE WINAPI MsiGetLastErrorRecord(void)
@ MSITRANSFORM_ERROR_VIEWTRANSFORM
@ MSIDBERROR_FUNCTIONERROR
#define STGM_SHARE_EXCLUSIVE
#define STGM_SHARE_DENY_WRITE
#define IsEqualGUID(rguid1, rguid2)
UINT MSI_ParseSQL(MSIDATABASE *db, LPCWSTR command, MSIVIEW **phview, struct list *mem)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define midl_user_allocate
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
#define GetExceptionCode()
#define ERROR_INVALID_TABLE
#define ERROR_BAD_QUERY_SYNTAX
#define ERROR_FUNCTION_FAILED