2 * Copyright (C) 2002 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_MSIQUERY_H
20 #define __WINE_MSIQUERY_H
24 typedef enum tagMSICONDITION
26 MSICONDITION_FALSE
= 0,
27 MSICONDITION_TRUE
= 1,
28 MSICONDITION_NONE
= 2,
29 MSICONDITION_ERROR
= 3,
32 #define MSI_NULL_INTEGER 0x80000000
34 typedef enum tagMSICOLINFO
40 typedef enum tagMSIMODIFY
42 MSIMODIFY_REFRESH
= 0,
46 MSIMODIFY_REPLACE
= 4,
49 MSIMODIFY_INSERT_TEMPORARY
= 7,
50 MSIMODIFY_VALIDATE
= 8,
51 MSIMODIFY_VALIDATE_NEW
= 9,
52 MSIMODIFY_VALIDATE_FIELD
= 10,
53 MSIMODIFY_VALIDATE_DELETE
= 11
56 #define MSI_NULL_INTEGER 0x80000000
58 /* view manipulation */
59 UINT WINAPI
MsiViewFetch(MSIHANDLE
,MSIHANDLE
*);
60 UINT WINAPI
MsiViewExecute(MSIHANDLE
,MSIHANDLE
);
61 UINT WINAPI
MsiViewClose(MSIHANDLE
);
62 UINT WINAPI
MsiDatabaseOpenViewA(MSIHANDLE
,LPCSTR
,MSIHANDLE
*);
63 UINT WINAPI
MsiDatabaseOpenViewW(MSIHANDLE
,LPCWSTR
,MSIHANDLE
*);
65 /* record manipulation */
66 MSIHANDLE WINAPI
MsiCreateRecord(unsigned int);
67 UINT WINAPI
MsiRecordClearData(MSIHANDLE
);
68 UINT WINAPI
MsiRecordSetInteger(MSIHANDLE
,unsigned int,int);
69 UINT WINAPI
MsiRecordSetStringA(MSIHANDLE
,unsigned int,LPCSTR
);
70 UINT WINAPI
MsiRecordSetStringW(MSIHANDLE
,unsigned int,LPCWSTR
);
71 UINT WINAPI
MsiRecordGetStringA(MSIHANDLE
,unsigned int,LPSTR
,DWORD
*);
72 UINT WINAPI
MsiRecordGetStringW(MSIHANDLE
,unsigned int,LPWSTR
,DWORD
*);
73 UINT WINAPI
MsiRecordGetFieldCount(MSIHANDLE
);
74 int WINAPI
MsiRecordGetInteger(MSIHANDLE
,unsigned int);
75 UINT WINAPI
MsiRecordDataSize(MSIHANDLE
,unsigned int);
76 BOOL WINAPI
MsiRecordIsNull(MSIHANDLE
,unsigned int);
77 UINT WINAPI
MsiFormatRecordA(MSIHANDLE
,MSIHANDLE
,LPSTR
,DWORD
*);
78 UINT WINAPI
MsiFormatRecordW(MSIHANDLE
,MSIHANDLE
,LPWSTR
,DWORD
*);
79 UINT WINAPI
MsiRecordSetStreamA(MSIHANDLE
,unsigned int,LPCSTR
);
80 UINT WINAPI
MsiRecordSetStreamW(MSIHANDLE
,unsigned int,LPCWSTR
);
81 UINT WINAPI
MsiRecordReadStream(MSIHANDLE
,unsigned int,char*,DWORD
*);
83 UINT WINAPI
MsiDatabaseGetPrimaryKeysA(MSIHANDLE
,LPCSTR
,MSIHANDLE
*);
84 UINT WINAPI
MsiDatabaseGetPrimaryKeysW(MSIHANDLE
,LPCWSTR
,MSIHANDLE
*);
87 UINT WINAPI
MsiDoActionA(MSIHANDLE
,LPCSTR
);
88 UINT WINAPI
MsiDoActionW(MSIHANDLE
,LPCWSTR
);
90 /* database transforms */
91 UINT WINAPI
MsiDatabaseApplyTransformA(MSIHANDLE
,LPCSTR
,int);
92 UINT WINAPI
MsiDatabaseApplyTransformW(MSIHANDLE
,LPCWSTR
,int);
93 UINT WINAPI
MsiDatabaseGenerateTransformA(MSIHANDLE
,MSIHANDLE
,LPCSTR
,int,int);
94 UINT WINAPI
MsiDatabaseGenerateTransformW(MSIHANDLE
,MSIHANDLE
,LPCWSTR
,int,int);
96 UINT WINAPI
MsiDatabaseCommit(MSIHANDLE
);
98 #endif /* __WINE_MSIQUERY_H */