Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendbs.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2006 Mike McCormack 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 typedef DWORD DBKIND; 00020 00021 enum DBKINDENUM { 00022 DBKIND_GUID_NAME, 00023 DBKIND_GUID_PROPID, 00024 DBKIND_NAME, 00025 DBKIND_PGUID_NAME, 00026 DBKIND_PGUID_PROPID, 00027 DBKIND_PROPID, 00028 DBKIND_GUID, 00029 }; 00030 00031 typedef struct tagDBID { 00032 [switch_type(DBKIND), switch_is(eKind)] union 00033 { 00034 [case(DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_NAME, DBKIND_PROPID)] 00035 GUID guid; 00036 [case(DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID)] 00037 GUID *pguid; 00038 [default] 00039 ; 00040 } uGuid; 00041 DBKIND eKind; 00042 [switch_type(DBKIND), switch_is(eKind)] union 00043 { 00044 [case(DBKIND_GUID_NAME, DBKIND_NAME, DBKIND_PGUID_NAME)] 00045 LPOLESTR pwszName; 00046 [case(DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_PGUID_PROPID, DBKIND_PROPID)] 00047 ULONG ulPropid; 00048 [default] 00049 ; 00050 } uName; 00051 } DBID; 00052 00053 typedef DWORD DBPROPID; 00054 00055 typedef struct tagDBPROPIDSET { 00056 [size_is(cPropertyIDs)] DBPROPID *rgPropertyIDs; 00057 ULONG cPropertyIDs; 00058 GUID guidPropertySet; 00059 } DBPROPIDSET; 00060 00061 typedef DWORD DBPROPOPTIONS; 00062 00063 enum DBPROPOPTIONENUM { 00064 DBPROPOPTIONS_REQUIRED = 0, 00065 DBPROPOPTIONS_SETIFCHEAP = 1, 00066 DBPROPOPTIONS_OPTIONAL = 1, 00067 }; 00068 00069 typedef DWORD DBPROPSTATUS; 00070 00071 typedef struct tagDBPROP { 00072 DBPROPID dwPropertyID; 00073 DBPROPOPTIONS dwOptions; 00074 DBPROPSTATUS dwStatus; 00075 DBID colid; 00076 VARIANT vValue; 00077 } DBPROP; 00078 00079 typedef struct tagDBPROPSET { 00080 [size_is(cProperties)] DBPROP *rgProperties; 00081 ULONG cProperties; 00082 GUID guidPropertySet; 00083 } DBPROPSET; 00084 00085 typedef DWORD DBPROPFLAGS; 00086 00087 typedef struct tagDBPROPINFO { 00088 LPOLESTR pwszDescription; 00089 DBPROPID dwPropertyID; 00090 DBPROPFLAGS dwFlags; 00091 VARTYPE vtType; 00092 VARIANT vValues; 00093 } DBPROPINFO; 00094 00095 typedef DBPROPINFO *PDBPROPINFO; 00096 00097 typedef struct tagDBPROPINFOSET { 00098 [size_is(cPropertyInfos)] PDBPROPINFO rgPropertyInfos; 00099 ULONG cPropertyInfos; 00100 GUID guidPropertySet; 00101 } DBPROPINFOSET; 00102 00103 typedef DWORD DBBINDURLFLAG; 00104 typedef DWORD DBBINDURLSTATUS; 00105 00106 typedef struct tagDBIMPLICITSESSION 00107 { 00108 IUnknown *pUnkOuter; 00109 IID *piid; 00110 IUnknown *pSession; 00111 } DBIMPLICITSESSION; 00112 00113 typedef WORD DBTYPE; 00114 00115 enum DBTYPEENUM 00116 { 00117 DBTYPE_EMPTY = 0, 00118 DBTYPE_NULL = 1, 00119 DBTYPE_I2 = 2, 00120 DBTYPE_I4 = 3, 00121 DBTYPE_R4 = 4, 00122 DBTYPE_R8 = 5, 00123 DBTYPE_CY = 6, 00124 DBTYPE_DATE = 7, 00125 DBTYPE_BSTR = 8, 00126 DBTYPE_IDISPATCH = 9, 00127 DBTYPE_ERROR = 10, 00128 DBTYPE_BOOL = 11, 00129 DBTYPE_VARIANT = 12, 00130 DBTYPE_IUNKNOWN = 13, 00131 DBTYPE_DECIMAL = 14, 00132 DBTYPE_I1 = 16, 00133 DBTYPE_UI1 = 17, 00134 DBTYPE_UI2 = 18, 00135 DBTYPE_UI4 = 19, 00136 DBTYPE_I8 = 20, 00137 DBTYPE_UI8 = 21, 00138 DBTYPE_GUID = 72, 00139 DBTYPE_BYTES = 128, 00140 DBTYPE_STR = 129, 00141 DBTYPE_WSTR = 130, 00142 DBTYPE_NUMERIC = 131, 00143 DBTYPE_UDT = 132, 00144 DBTYPE_DBDATE = 133, 00145 DBTYPE_DBTIME = 134, 00146 DBTYPE_DBTIMESTAMP = 135, 00147 00148 DBTYPE_VECTOR = 0x1000, 00149 DBTYPE_ARRAY = 0x2000, 00150 DBTYPE_BYREF = 0x4000, 00151 DBTYPE_RESERVED = 0x8000 00152 }; 00153 00154 enum DBTYPEENUM15 00155 { 00156 DBTYPE_HCHAPTER = 136 00157 }; 00158 00159 enum DBTYPEENUM20 00160 { 00161 DBTYPE_FILETIME = 64, 00162 DBTYPE_PROPVARIANT = 138, 00163 DBTYPE_VARNUMERIC = 139 00164 }; 00165 00166 typedef DWORD DBSTATUS; 00167 00168 enum DBSTATUSENUM 00169 { 00170 DBSTATUS_S_OK = 0, 00171 DBSTATUS_E_BADACCESSOR = 1, 00172 DBSTATUS_E_CANTCONVERTVALUE = 2, 00173 DBSTATUS_S_ISNULL = 3, 00174 DBSTATUS_S_TRUNCATED = 4, 00175 DBSTATUS_E_SIGNMISMATCH = 5, 00176 DBSTATUS_E_DATAOVERFLOW = 6, 00177 DBSTATUS_E_CANTCREATE = 7, 00178 DBSTATUS_E_UNAVAILABLE = 8, 00179 DBSTATUS_E_PERMISSIONDENIED = 9, 00180 DBSTATUS_E_INTEGRITYVIOLATION = 10, 00181 DBSTATUS_E_SCHEMAVIOLATION = 11, 00182 DBSTATUS_E_BADSTATUS = 12, 00183 DBSTATUS_S_DEFAULT = 13 00184 }; 00185 00186 cpp_quote("#ifdef DBINITCONSTANTS") 00187 cpp_quote("#ifdef __cplusplus") 00188 cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\") 00189 cpp_quote(" EXTERN_C const GUID name DECLSPEC_HIDDEN; \\") 00190 cpp_quote(" EXTERN_C const GUID name = \\") 00191 cpp_quote(" { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }") 00192 cpp_quote("#else") 00193 cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\") 00194 cpp_quote(" const GUID name DECLSPEC_HIDDEN; \\") 00195 cpp_quote(" const GUID name = \\") 00196 cpp_quote(" { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }") 00197 cpp_quote("#endif") 00198 cpp_quote("#else") 00199 cpp_quote("#define DEFINE_DBGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \\") 00200 cpp_quote(" EXTERN_C const GUID name DECLSPEC_HIDDEN") 00201 cpp_quote("#endif") 00202 00203 cpp_quote("DEFINE_DBGUID(DBGUID_SESSION, 0xc8b522f5, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);") 00204 cpp_quote("DEFINE_DBGUID(DBGUID_ROWSET, 0xc8b522f6, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);") 00205 cpp_quote("DEFINE_DBGUID(DBGUID_ROW, 0xc8b522f7, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);") 00206 cpp_quote("DEFINE_DBGUID(DBGUID_STREAM, 0xc8b522f9, 0x5cf3, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);") 00207 00208 typedef struct tagDBCOLUMNACCESS 00209 { 00210 void *pData; 00211 DBID columnid; 00212 DBLENGTH cbDataLen; 00213 DBSTATUS dwStatus; 00214 DBLENGTH cbMaxLen; 00215 DB_DWRESERVE dwReserved; 00216 DBTYPE wType; 00217 BYTE bPrecision; 00218 BYTE bScale; 00219 } DBCOLUMNACCESS; 00220 00221 typedef DWORD DBROWSTATUS; 00222 00223 enum DBROWSTATUSENUM 00224 { 00225 DBROWSTATUS_S_OK = 0, 00226 /* FIXME */ 00227 DBROWSTATUS_E_FAIL = 19, 00228 00229 }; 00230 00231 typedef DWORD DBPART; 00232 00233 enum DBPARTENUM 00234 { 00235 DBPART_INVALID = 0, 00236 DBPART_VALUE = 1, 00237 DBPART_LENGTH = 2, 00238 DBPART_STATUS = 4, 00239 }; 00240 00241 typedef DWORD DBPARAMIO; 00242 00243 enum DBPARAMIOENUM 00244 { 00245 DBPARAMIO_NOTPARAM = 0, 00246 DBPARAMIO_INPUT = 1, 00247 DBPARAMIO_OUTPUT = 2, 00248 }; 00249 00250 typedef DWORD DBMEMOWNER; 00251 00252 enum DBMEMOWNERENUM 00253 { 00254 DBMEMOWNER_CLIENTOWNED = 0, 00255 DBMEMOWNER_PROVIDEROWNED = 1, 00256 }; 00257 00258 typedef struct tagDBOBJECT 00259 { 00260 DWORD dwFlags; 00261 IID iid; 00262 } DBOBJECT; 00263 00264 typedef struct tagDBBINDEXT 00265 { 00266 [size_is((ULONG)ulExtension)] BYTE *pExtension; 00267 DBCOUNTITEM ulExtension; 00268 } DBBINDEXT; 00269 00270 typedef struct tagDBBINDING 00271 { 00272 DBORDINAL iOrdinal; 00273 DBBYTEOFFSET obValue; 00274 DBBYTEOFFSET obLength; 00275 DBBYTEOFFSET obStatus; 00276 ITypeInfo *pTypeInfo; 00277 DBOBJECT *pObject; 00278 DBBINDEXT *pBindExt; 00279 DBPART dwPart; 00280 DBMEMOWNER dwMemOwner; 00281 DBPARAMIO eParamIO; 00282 DBLENGTH cbMaxLen; 00283 DWORD dwFlags; 00284 DBTYPE wType; 00285 BYTE bPrecision; 00286 BYTE bScale; 00287 } DBBINDING; 00288 00289 typedef ULONG_PTR HACCESSOR; 00290 00291 cpp_quote("#define DB_INVALID_HACCESSOR 0x00") 00292 00293 typedef ULONG_PTR HROW; 00294 00295 cpp_quote("#define DB_NULL_HROW 0x00") 00296 00297 typedef ULONG_PTR HWATCHREGION; 00298 00299 cpp_quote("#define DBWATCHREGION_NULL NULL") 00300 00301 typedef ULONG_PTR HCHAPTER; 00302 00303 cpp_quote("#define DB_NULL_HCHAPTER 0x00") 00304 00305 typedef struct tagDBPARAMS 00306 { 00307 void *pData; 00308 DB_UPARAMS cParamSets; 00309 HACCESSOR hAccessor; 00310 } DBPARAMS; 00311 00312 typedef DWORD DBASYNCHOP; 00313 00314 enum DBASYNCHOPENUM 00315 { 00316 DBSYNCHOP_OPEN, 00317 }; 00318 00319 typedef DWORD DBASYNCHPHASE; 00320 00321 enum DBASYNCHPHASEENUM 00322 { 00323 DBASYNCHPHASE_INITIALIZATION, 00324 DBASYNCHPHASE_POPULATION, 00325 DBASYNCHPHASE_COMPLETE, 00326 DBASYNCHPHASE_CANCELED, 00327 }; 00328 00329 typedef struct tagRMTPACK 00330 { 00331 ISequentialStream *pISeqStream; 00332 ULONG cbData; 00333 ULONG cBSTR; 00334 [size_is(cBSTR)] BSTR *rgBSTR; 00335 ULONG cVARIANT; 00336 [size_is(cVARIANT)] VARIANT *rgVARIANT; 00337 ULONG cIDISPATCH; 00338 [size_is(cIDISPATCH)] IDispatch **rgIDISPATCH; 00339 ULONG cIUNKNOWN; 00340 [size_is(cIUNKNOWN)] IUnknown **rgIUNKNOWN; 00341 ULONG cPROPVARIANT; 00342 [size_is(cPROPVARIANT)] PROPVARIANT *rgPROPVARIANT; 00343 ULONG cArray; 00344 [size_is(cArray)] VARIANT *rgArray; 00345 } RMTPACK; Generated on Sat May 26 2012 04:30:00 for ReactOS by
1.7.6.1
|