diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/types2 | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/types2')
127 files changed, 10151 insertions, 0 deletions
diff --git a/private/types2/catstg/catstg.idl b/private/types2/catstg/catstg.idl new file mode 100644 index 000000000..0bc44c1c4 --- /dev/null +++ b/private/types2/catstg/catstg.idl @@ -0,0 +1,141 @@ +/*++ + +Copyright (c) 1995 Microsoft Corporation + +Module Name: + + catstg.idl + +Abstract: + + Interface definition file for the Summary Catalog storage interface. + +Author: + + Chris L. Mayhall (chrismay) 10-Apr-1995 + +Environment: + + These routines are implemented by the ole32.dll library and are + callable in user mode code. + +Notes: + + none + +Revision History: + + 01-Oct-93 DaveMont + Created. + 01-Aug-94 SethuR + Revised for OLEDB integration. + 24-May-95 ChrisMay + Replaced temporary IID with real IID generated via uuidgen. + 10-Jul-95 DaveStr + Mods for catstg DRT and added ISummaryCatalogStorageView. + +--*/ + +#include "idlmulti.h" + +#ifdef IMPORT_IDL_DEPENDENTS +import "..\oledb\oledbtyp.idl"; +#include "..\oledb\dbs.idl" +#endif // IMPORT_IDL_DEPENDENTS + +cpp_quote("#ifndef CATALOGSTG_ROWID_INVALID") +typedef ULONG CATALOGSTG_ROWID; + +cpp_quote("#define CATALOGSTG_ROWID_INVALID ((CATALOGSTG_ROWID) 0xffffffff)") +cpp_quote("#endif // CATALOGSTG_ROWID_INVALID") + +typedef enum _CATALOGSTG_ACTION { + CATALOGSTG_NOACTION = 0, + CATALOGSTG_ADD = 1, + CATALOGSTG_UPDATE = 2, + CATALOGSTG_REPLACE = 3, + CATALOGSTG_DELETE = 4 +} CATALOGSTG_ACTION; + +typedef struct _CATALOG_UPDATE_ROWINFO +{ + USHORT wAction; // action desired - a CATALOGSTG_ACTION value + USHORT wReserved; // Must be zero. + CATALOGSTG_ROWID RowId; + PVOID pData; // Row Data. + HRESULT hr; // update status +} CATALOG_UPDATE_ROWINFO, *PCATALOG_UPDATE_ROWINFO; + +LOCAL_INTERFACE(a3cf4d70-702d-11ce-8b2c-00aa003c9b74) +interface ISummaryCatalogStorage : IUnknown +{ + // Following method is for adding, updating, replacing and deleting + // rows. rColumns defines the total set of columns which will be + // operated upon. cBindings may be greater than cColumns but there + // must exist a value binding in rBindings for each column in rColumns. + // In other words: + // + // for ( 0 <= i < cColumns ) + // exists ( 0 <= j < cBindings ) where + // (i == rBindings[j].iColumn) + // && + // (DBCOLUMNPART_VALUE == rBindings[j].dwPart) + + HRESULT UpdateRows + ( + [in] ULONG cColumns, + [in] [size_is(cColumns)] DBID *rColumns, + [in] ULONG cBindings, + [in] [size_is(cBindings)] DBBINDING *rBindings, + [in] ULONG cRows, + [in, out] [size_is(cRows)] CATALOG_UPDATE_ROWINFO *rRowInfo + ); +} + +// Following is a primitive view interface intended as a stop-gap +// measure until OLE has a standard interface. View restriction is +// implicitly NULL. Key columns should have fSortKey set to TRUE. +// Ordering of key columns in CATALOG_VIEW_COLUMN.rCols[] defines +// key priority. + +typedef struct _CATALOG_VIEW_COLUMN_ +{ + DBID colid; // column identifer + BOOL fSortKey; // TRUE iff column is a sort key + ULONG sortOrder; // QUERY_SORT* + LCID locale; +} CATALOG_VIEW_COLUMN; + +typedef struct _CATALOG_VIEW_ +{ + ULONG id; + ULONG cCols; + [size_is(cCols)] CATALOG_VIEW_COLUMN *rCols; +} CATALOG_VIEW; + +LOCAL_INTERFACE(8d2bea60-bb95-11ce-a328-00aa004ba935) +interface ISummaryCatalogStorageView : IUnknown +{ + HRESULT CreateView + ( + [in] CATALOG_VIEW *pView, + [in] BOOL fWait // wait for view to be constructed + ); + + HRESULT GetViews + ( + [in, out] ULONG *pcViews, + [out] [size_is(*pcViews)] CATALOG_VIEW **prViews + ); + + HRESULT DeleteView( + [in] ULONG id + ); + + // Use to release memory returned by GetViews. + + HRESULT ReleaseViews( + [in] ULONG cViews, + [in] [size_is(cViews)] CATALOG_VIEW *rViews + ); +} diff --git a/private/types2/catstg/makefile b/private/types2/catstg/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/catstg/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/catstg/sources b/private/types2/catstg/sources new file mode 100644 index 000000000..cd54fae9a --- /dev/null +++ b/private/types2/catstg/sources @@ -0,0 +1,37 @@ +!IF 0 + +Copyright (c) 1995 Microsoft Corporation + +Module Name: + + sources. + +Abstract: + + This file specifies the target component being built and the list of + sources files needed to build that component. Also specifies optional + compiler switches and libraries that are unique for the component being + built. + +Author: + + Chris Mayhall (ChrisMay) + +History: + + 07-Apr-95 ChrisMay + Created. + +Notes: + + Description of this file is in \nt\public\oak\bin\sources.tpl. + +!ENDIF + +!include ..\types2.inc + +SOURCES = catstg.idl + +# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once +SYNCHRONIZE_BLOCK=1 + diff --git a/private/types2/dirs b/private/types2/dirs new file mode 100644 index 000000000..a08e50f7c --- /dev/null +++ b/private/types2/dirs @@ -0,0 +1,5 @@ + +# proxy should always be last + +DIRS=oleext query oledb sysmgmt mc catstg proxy + diff --git a/private/types2/h/idlmulti.h b/private/types2/h/idlmulti.h new file mode 100644 index 000000000..648529263 --- /dev/null +++ b/private/types2/h/idlmulti.h @@ -0,0 +1,99 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: idlmulti.h +// +// Contents: preprocessor trickery to make our .idl/.tdl files compile +// with MIDL or APBU Mktyplib. +// +// History: 27-May-94 DonCl Created +// 20-Jul-94 ErikGav Remove SDKTOOLS support +// +//---------------------------------------------------------------------------- + +#ifndef __IDLMULTI_H__ +#define __IDLMULTI_H__ + +#define ENDCOCLASS }; + + +#ifndef __MKTYPLIB__ +#define TYPEDEF(guid) \ +typedef + +#define LOCAL_INTERFACE(guid) \ +[ \ + local, \ + object, \ + uuid(guid), \ + pointer_default(unique) \ +] + + +#define REMOTED_INTERFACE(guid) \ +[ \ + object, \ + uuid(guid), \ + pointer_default(unique) \ +] + + +#define BEGINEVENTSET(es) \ +eventset es \ +{ \ + +#define ENDEVENTSET }; + + +#define COCLASS(name, dispint, events) \ +cotype name \ +{ \ + dispinterface dispint; \ + eventset events; + + + +#else // __MKTYPLIB__ + +#define TYPEDEF(guid) typedef [uuid(guid)] + +#define cpp_quote(string) + +#define const + +#define LOCAL_INTERFACE(guid) \ +[ \ + uuid(guid), \ + odl \ +] + +#define REMOTED_INTERFACE(guid) \ +[ \ + uuid(guid), \ + odl \ +] + +#define BEGINEVENTSET(es) \ +dispinterface es \ +{ \ +properties: \ + \ +methods: \ + +#define ENDEVENTSET }; + + +#define COCLASS(name, dispint, events) \ +coclass name \ +{ \ + [default] dispinterface dispint; \ + [source, default] dispinterface events; \ + + + +#endif /// MKTYPLIB + +#endif // __IDLMULTI_H__ + diff --git a/private/types2/mc/a_first.x b/private/types2/mc/a_first.x new file mode 100644 index 000000000..d6edc27f8 --- /dev/null +++ b/private/types2/mc/a_first.x @@ -0,0 +1,25 @@ +;#ifndef _ALLERROR_H_ +;#define _ALLERROR_H_ + +;#ifndef FACILITY_WINDOWS + +MessageIdTypedef=HRESULT + +SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS + CoError=0x2:STATUS_SEVERITY_COERROR + CoFail=0x3:STATUS_SEVERITY_COFAIL + ) + +FacilityNames=(Interface=0x4:FACILITY_ITF + Windows=0x8:FACILITY_WINDOWS + ) + +MessageId=0 Facility=Windows Severity=Success SymbolicName=NOT_AN_ERROR +Language=English +NOTE: This dummy error message is necessary to force MC to output + the above defines inside the FACILITY_WINDOWS guard instead + of leaving it empty. +. + +;#endif // FACILITY_WINDOWS + diff --git a/private/types2/mc/allerror.mc b/private/types2/mc/allerror.mc new file mode 100644 index 000000000..1b80008d7 --- /dev/null +++ b/private/types2/mc/allerror.mc @@ -0,0 +1,833 @@ +;#ifndef _ALLERROR_H_ +;#define _ALLERROR_H_ + +;#ifndef FACILITY_WINDOWS + +MessageIdTypedef=HRESULT + +SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS + CoError=0x2:STATUS_SEVERITY_COERROR + CoFail=0x3:STATUS_SEVERITY_COFAIL + ) + +FacilityNames=(Interface=0x4:FACILITY_ITF + Windows=0x8:FACILITY_WINDOWS + ) + +MessageId=0 Facility=Windows Severity=Success SymbolicName=NOT_AN_ERROR +Language=English +NOTE: This dummy error message is necessary to force MC to output + the above defines inside the FACILITY_WINDOWS guard instead + of leaving it empty. +. + +;#endif // FACILITY_WINDOWS + +;#ifndef _OLEDBERR_H_ +;#define _OLEDBERR_H_ + +;#ifndef FACILITY_WINDOWS + +MessageIdTypedef=HRESULT + +SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS + CoError=0x2:STATUS_SEVERITY_COERROR + CoFail=0x3:STATUS_SEVERITY_COFAIL + ) + +FacilityNames=(Interface=0x4:FACILITY_ITF + Windows=0x8:FACILITY_WINDOWS + ) + +MessageId=0x0eff Facility=Interface Severity=CoError SymbolicName=DB_E_BADACCESSORHANDLE +Language=English +Dummy error - need this error so that mc puts the above defines +inside the FACILITY_WINDOWS guard, instead of leaving it empty +. +;#endif // FACILITY_WINDOWS + +;// +;// Codes 0x0e00-0x0eff are reserved for the OLE DB group of +;// interfaces. +;// +;// 0x0e31 is free... +;// + +MessageId=0x0e00 Facility=Interface Severity=CoError SymbolicName=DB_E_BADACCESSORHANDLE +Language=English +Invalid accessor +. +MessageId=0x0e01 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWLIMITEXCEEDED +Language=English +Creating another row would have exceeded the total number of active +rows supported by the rowset +. +MessageId=0x0e02 Facility=Interface Severity=CoError SymbolicName=DB_E_READONLYACCESSOR +Language=English +Unable to write with a read-only accessor +. +MessageId=0x0e03 Facility=Interface Severity=CoError SymbolicName=DB_E_SCHEMAVIOLATION +Language=English +Given values violate the database schema +. +MessageId=0x0e04 Facility=Interface Severity=CoError SymbolicName=DB_E_BADROWHANDLE +Language=English +Invalid row handle +. +MessageId=0x0e05 Facility=Interface Severity=CoError SymbolicName=DB_E_OBJECTOPEN +Language=English +Accessor specified a column loaded with LoadObject that has not been +unloaded +. +MessageId=0x0e06 Facility=Interface Severity=CoError SymbolicName=DB_E_BADCHAPTER +Language=English +Invalid chapter +. +MessageId=0x0e07 Facility=Interface Severity=CoError SymbolicName=DB_E_INTERFACECONFLICT +Language=English +The specified interface conflicts with an existing interface goal +. +MessageId=0x0e08 Facility=Interface Severity=CoError SymbolicName=DB_E_BADBINDINFO +Language=English +Invalid binding info +. +MessageId=0x0e09 Facility=Interface Severity=CoError SymbolicName=DB_E_ACCESSVIOLATION +Language=English +Access violation +. +MessageId=0x0e0a Facility=Interface Severity=CoError SymbolicName=DB_E_NOTAREFERENCECOLUMN +Language=English +Specified column does not contain bookmarks or chapters +. +MessageId=0x0e0c Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSETOPEN +Language=English +A rowset was open on the query +. +MessageId=0x0e0d Facility=Interface Severity=CoError SymbolicName=DB_E_COSTLIMIT +Language=English +Unable to find a query plan within the given cost limit +. +MessageId=0x0e0e Facility=Interface Severity=CoError SymbolicName=DB_E_BADBOOKMARK +Language=English +Invalid bookmark +. +MessageId=0x0e0f Facility=Interface Severity=CoError SymbolicName=DB_E_BADLOCKMODE +Language=English +Invalid lock mode +. +MessageId=0x0e10 Facility=Interface Severity=CoError SymbolicName=DB_E_PARAMNOTOPTIONAL +Language=English +No value given for one or more required parameters +. +MessageId=0x0e11 Facility=Interface Severity=CoError SymbolicName=DB_E_COLUMNUNAVAILABLE +Language=English +Invalid column ID +. +MessageId=0x0e12 Facility=Interface Severity=CoError SymbolicName=DB_E_BADRATIO +Language=English +Invalid ratio +. +MessageId=0x0e13 Facility=Interface Severity=CoError SymbolicName=DB_E_BADVALUES +Language=English +Invalid value +. +MessageId=0x0e14 Facility=Interface Severity=CoError SymbolicName=DB_E_ERRORSINTREE +Language=English +Query tree contained one or more errors +. +MessageId=0x0e15 Facility=Interface Severity=CoError SymbolicName=DB_E_BADPARAMETER +Language=English +Invalid parameter +. +MessageId=0x0e16 Facility=Interface Severity=CoError SymbolicName=DB_E_BADPARAMETERCOUNT +Language=English +More values than parameters +. +MessageId=0x0e17 Facility=Interface Severity=CoError SymbolicName=DB_E_BADVARTYPE +Language=English +Value is not a VARIANT +. +MessageId=0x0e18 Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATEPARAM +Language=English +More than one value was supplied for a given parameter +. +MessageId=0x0e19 Facility=Interface Severity=CoError SymbolicName=DB_E_OVERFLOW +Language=English +Parameter value outside valid domain for that parameter +. +MessageId=0x0e1a Facility=Interface Severity=CoError SymbolicName=DB_E_PARAMNOTFOUND +Language=English +Parameter ID was not matched +. +MessageId=0x0e1b Facility=Interface Severity=CoError SymbolicName=DB_E_TYPEMISMATCH +Language=English +Value was not of a type that could be coerced to the parameter +. +MessageId=0x0e1c Facility=Interface Severity=CoError SymbolicName=DB_E_GOALREJECTED +Language=English +No nonzero weights specified for any goals supported, so goal was +rejected; current goal was not changed +. +MessageId=0x0e1d Facility=Interface Severity=CoError SymbolicName=DB_E_CANTCOERCE +Language=English +Requested coercion is not legal +. +MessageId=0x0e1e Facility=Interface Severity=CoError SymbolicName=DB_E_NOTUPDATED +Language=English +Chapter contained changed rows which are not yet updated +. +MessageId=0x0e1f Facility=Interface Severity=CoError SymbolicName=DB_E_NOQUERY +Language=English +Information was requested for a query, and the query was not set +. +MessageId=0x0e20 Facility=Interface Severity=CoError SymbolicName=DB_E_NOTREENTRANT +Language=English +Provider called a method from IRowsetNotify in the consumer and the +method has not yet returned +. +MessageId=0x0e21 Facility=Interface Severity=CoError SymbolicName=DB_E_BADROWSET +Language=English +A non-existant rowset was specified +. +MessageId=0x0e22 Facility=Interface Severity=CoError SymbolicName=DB_E_NOAGGREGATION +Language=English +A non-NULL controlling IUnknown was specified and the object being +created does not support aggregation +. +MessageId=0x0e23 Facility=Interface Severity=CoError SymbolicName=DB_E_DELETEDROW +Language=English +A given HROW referred to a hard- or soft-deleted row +. +MessageId=0x0e24 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTFETCHBACKWARDS +Language=English +The rowset does not support fetching backwards +. +MessageId=0x0e25 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSNOTRELEASED +Language=English +All HROWs must be released before new ones can be obtained +. +MessageId=0x0e26 Facility=Interface Severity=CoError SymbolicName=DB_E_INVALID +Language=English +The rowset was not chaptered +. +MessageId=0x0e27 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTCREATEACCESSOR +Language=English +An accessor has already been created and the +DBROWSETFLAGS_MULTIPLEACCESSOR flag was not set +. +MessageId=0x0e28 Facility=Interface Severity=CoError SymbolicName=DB_E_NEEDDATA +Language=English +DBINIT_NOPROMPT was specified and the provider cannot be initialized +without prompting for information +. +MessageId=0x0e29 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTSCROLLBACKWARDS +Language=English +The rowset cannot scroll backwards +. +MessageId=0x0e2a Facility=Interface Severity=CoError SymbolicName=DB_E_BADREGIONHANDLE +Language=English +Invalid region handle +. +MessageId=0x0e2b Facility=Interface Severity=CoError SymbolicName=DB_E_NONCONTIGUOUSRANGE +Language=English +The specified set of rows was not contiguous to or overlapping the +rows in the specified watch region +. +MessageId=0x0e2c Facility=Interface Severity=CoError SymbolicName=DB_E_INVALIDTRANSITION +Language=English +A transition from ALL* to MOVE* or EXTEND* was specified +. +MessageId=0x0e2d Facility=Interface Severity=CoError SymbolicName=DB_E_NOTASUBREGION +Language=English +The specified region is not a proper subregion of the region +identified by the given watch region handle +. +MessageId=0x0e2e Facility=Interface Severity=CoError SymbolicName=DB_E_NOCOMMAND +Language=English +No command has been specified for the command object +. +MessageId=0x0e2f Facility=Interface Severity=CoError SymbolicName=DB_E_INTEGRITYVIOLATION +Language=English +A specified value violated the integrity constraints for a column or +table +. +MessageId=0x0e30 Facility=Interface Severity=CoError SymbolicName=DB_E_PROPERTIESNOTAVAILABLE +Language=English +Some of the requiried properties could not be met +. +MessageId=0x0e31 Facility=Interface Severity=CoError SymbolicName=DB_E_ABORTLIMITREACHED +Language=English +Execution aborted because a resource limit has been reached; no +results have been returned +. +MessageId=0x0e32 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSETINCOMMAND +Language=English +Cannot clone a command object whose command tree contains a rowset +or rowsets +. +MessageId=0x0e33 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTTRANSLATE +Language=English +Cannot represent the current tree as text +. +MessageId=0x0e34 Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATEINDEXID +Language=English +The specified index already exists +. +MessageId=0x0e35 Facility=Interface Severity=CoError SymbolicName=DB_E_NOINDEX +Language=English +The specified index does not exist +. +MessageId=0x0e36 Facility=Interface Severity=CoError SymbolicName=DB_E_INDEXINUSE +Language=English +The specified index was in use +. +MessageId=0x0e37 Facility=Interface Severity=CoError SymbolicName=DB_E_NOTABLE +Language=English +The specified table does not exist +. +MessageId=0x0e38 Facility=Interface Severity=CoError SymbolicName=DB_E_CONCURRENCYVIOLATION +Language=English +The rowset was using optimistic concurrency and the value of a +column has been changed since it was last read +. +MessageId=0x0e39 Facility=Interface Severity=CoError SymbolicName=DB_E_BADCOPY +Language=English +Errors were detected during the copy +. +MessageId=0x0e3a Facility=Interface Severity=CoError SymbolicName=DB_E_BADPRECISION +Language=English +A specified precision was invalid +. +MessageId=0x0e3b Facility=Interface Severity=CoError SymbolicName=DB_E_BADSCALE +Language=English +A specified scale was invalid +. +MessageId=0x0e3c Facility=Interface Severity=CoError SymbolicName=DB_E_BADID +Language=English +Invalid table ID +. +MessageId=0x0e3d Facility=Interface Severity=CoError SymbolicName=DB_E_BADTYPE +Language=English +A specified type was invalid +. +MessageId=0x0e3e Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATECOLUMNID +Language=English +A column ID was occurred more than once in the specification +. +MessageId=0x0e3f Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATETABLEID +Language=English +The specified table already exists +. +MessageId=0x0e40 Facility=Interface Severity=CoError SymbolicName=DB_E_TABLEINUSE +Language=English +The specified table was in use +. +MessageId=0x0e41 Facility=Interface Severity=CoError SymbolicName=DB_E_NOLOCALE +Language=English +The specified locale ID was not supported +. +MessageId=0x0e42 Facility=Interface Severity=CoError SymbolicName=DB_E_BADRECORDNUM +Language=English +The specified record number is invalid +. +MessageId=0x0ec3 Facility=Interface Severity=CoError SymbolicName=DB_E_BOOKMARKSKIPPED +Language=English +Skipped bookmark for deleted or non-member row +. + +MessageId=0x0ec0 Facility=Interface Severity=Success SymbolicName=DB_S_ROWLIMITEXCEEDED +Language=English +Fetching requested number of rows would have exceeded total number of +active rows supported by the rowset +. +MessageId=0x0ec1 Facility=Interface Severity=Success SymbolicName=DB_S_ROWNOTFOUND +Language=English +Unable to find row for given bookmark +. +MessageId=0x0ec2 Facility=Interface Severity=Success SymbolicName=DB_S_ENDOFRESULTSET +Language=English +Reached start or end of result set +. +MessageId=0x0ec3 Facility=Interface Severity=Success SymbolicName=DB_S_BOOKMARKSKIPPED +Language=English +Skipped bookmark for deleted or non-member row +. +MessageId=0x0ec4 Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSINTREE +Language=English +Errors found in validating tree +. +MessageId=0x0ec5 Facility=Interface Severity=Success SymbolicName=DB_S_NONEXTROWSET +Language=English +There are no more rowsets +. +MessageId=0x0ec6 Facility=Interface Severity=Success SymbolicName=DB_S_ENDOFROWSET +Language=English +Reached start or end of rowset or chapter +. +;//BUGBUG - DB_S_BLOCKLIMITEDROWS is not officially sanctioned. +MessageId=0x0ec7 Facility=Interface Severity=Success SymbolicName=DB_S_BLOCKLIMITEDROWS +Language=English +Execution aborted because a resource limit has been reached; no +results have been returned +. +MessageId=0x0ec8 Facility=Interface Severity=Success SymbolicName=DB_S_BUFFERFULL +Language=English +Variable data buffer full +. +MessageId=0x0ec9 Facility=Interface Severity=Success SymbolicName=DB_S_CANTCOERCE +Language=English +Couldn't perform specified type coercion +. +MessageId=0x0eca Facility=Interface Severity=Success SymbolicName=DB_S_CANTRELEASE +Language=English +Server cannot release or downgrade a lock until the end of the +transaction +. +MessageId=0x0ecb Facility=Interface Severity=Success SymbolicName=DB_S_GOALCHANGED +Language=English +Specified weight was not supported or exceeded the supported limit +and was set to 0 or the supported limit +. +MessageId=0x0ecd Facility=Interface Severity=Success SymbolicName=DB_S_DIALECTIGNORED +Language=English +Input dialect was ignored and text was returned in different +dialect +. +MessageId=0x0ece Facility=Interface Severity=Success SymbolicName=DB_S_UNWANTEDPHASE +Language=English +Consumer is uninterested in receiving further notification calls for +this phase +. +MessageId=0x0ecf Facility=Interface Severity=Success SymbolicName=DB_S_UNWANTEDEVENT +Language=English +Consumer is uninterested in receiving further notification calls to +this method +. +MessageId=0x0ed0 Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNUNAVAILABLE +Language=English +Invalid column ID +. +MessageId=0x0ed1 Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNSCHANGED +Language=English +In order to reposition to the start of the rowset, the provider had +to reexecute the query; either the order of the columns changed or +columns were added to or removed from the rowset +. +MessageId=0x0ed2 Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSRETURNED +Language=English +The method had some errors; errors have been returned in the error +array +. +MessageId=0x0ed3 Facility=Interface Severity=Success SymbolicName=DB_S_BADROWHANDLE +Language=English +Invalid row handle +. +MessageId=0x0ed4 Facility=Interface Severity=Success SymbolicName=DB_S_DELETEDROW +Language=English +A given HROW referred to a hard-deleted row +. +MessageId=0x0ed5 Facility=Interface Severity=Success SymbolicName=DB_S_TOOMANYCHANGES +Language=English +The provider was unable to keep track of all the changes; the client +must refetch the data associated with the watch region using another +method +. +MessageId=0x0ed6 Facility=Interface Severity=Success SymbolicName=DB_S_STOPLIMITREACHED +Language=English +Execution stopped because a resource limit has been reached; results +obtained so far have been returned but execution cannot be resumed +. +MessageId=0x0ed7 Facility=Interface Severity=Success SymbolicName=DB_S_SUSPENDLIMITREACHED +Language=English +Execution suspended because a resource limit has been reached; +results obtained so far have been returned and execution can be +resumed later +. +MessageId=0x0ed8 Facility=Interface Severity=Success SymbolicName=DB_S_LOCKUPGRADED +Language=English +A lock was upgraded from the value specified +. +MessageId=0x0ed9 Facility=Interface Severity=Success SymbolicName=DB_S_PROPERTIESCHANGED +Language=English +One or more properties were changed as allowed by provider +. +MessageId=0x0eda Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSOCCURRED +Language=English +Some errors occurred +. +MessageId=0x0edb Facility=Interface Severity=Success SymbolicName=DB_S_PARAMUNAVAILABLE +Language=English +A specified parameter was invalid +. +MessageId=0x0edc Facility=Interface Severity=Success SymbolicName=DB_S_CANCELED +Language=English +The change was canceled during notification; no columns are changed +. +MessageId=0x0edd Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNTYPEMISMATCH +Language=English +One or more column types are incompatible; conversion errors will +occur during copying +. +;#endif // _OLEDBERR_H_ +;// +;// Codes 0x1600-0x16ff are reserved for QUERY / TABLE +;// + +MessageId=0x1600 Facility=Interface Severity=CoError SymbolicName=QUERY_E_FAILED +Language=English +Call failed for unknown reason. +. +MessageId=0x1601 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDQUERY +Language=English +Invalid parameter. +. +MessageId=0x1602 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDRESTRICTION +Language=English +The query restriction could not be parsed. +. +MessageId=0x1603 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDSORT +Language=English +An invalid sort order was requested. +. +MessageId=0x1604 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDCATEGORIZE +Language=English +An invalid categorization order was requested. +. +MessageId=0x1605 Facility=Interface Severity=CoError SymbolicName=QUERY_E_ALLNOISE +Language=English +The query contained only ignored words. +. +MessageId=0x1606 Facility=Interface Severity=CoError SymbolicName=QUERY_E_TOOCOMPLEX +Language=English +The query was too complex to be executed. +. + +;// +;// ITable error codes +;// + +MessageId=0x1620 Facility=Interface Severity=CoError SymbolicName=TBL_E_CALLFAILED +Language=English +Call failed for unknown reason. +. +MessageId=0x1621 Facility=Interface Severity=CoError SymbolicName=TBL_E_UNKNOWNCOLS +Language=English +Cannot find column(s) specified. +. +MessageId=0x1622 Facility=Interface Severity=CoError SymbolicName=TBL_E_UNABLETOCOMPLETE +Language=English +Unable to complete request. +. +MessageId=0x1623 Facility=Interface Severity=CoError SymbolicName=TBL_E_INVALIDBOOKMARK +Language=English +Specified bookmark does not reference any row in table. +. +MessageId=0x1624 Facility=Interface Severity=Success SymbolicName=TBL_W_ENDOFTABLE +Language=English +End of table reached. +. +MessageId=0x1625 Facility=Interface Severity=Success SymbolicName=TBL_W_POSITIONCHANGED +Language=English +Position changed. +. + +;// +;// Filter daemon error codes +;// + +MessageId=0x1680 Facility=Interface Severity=Success SymbolicName=FDAEMON_W_WORDLISTFULL +Language=English +Wordlist has reached maximum size. Additional documents should not be filtered. +. +MessageId=0x1681 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_LOWRESOURCE +Language=English +The system is running out of one of more resources needed for filtering, usually memory. +. +MessageId=0x1682 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_FATALERROR +Language=English +A critical error occurred during document filtering. Consult system administrator. +. +MessageId=0x1683 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_PARTITIONDELETED +Language=English +Documents not stored in content index because partition has been deleted. +. +MessageId=0x1684 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_CHANGEUPDATEFAILED +Language=English +Documents not stored in content index because update of changelist failed. +. +MessageId=0x1685 Facility=Interface Severity=Success SymbolicName=FDAEMON_W_EMPTYWORDLIST +Language=English +Final wordlist was empty. +. +MessageId=0x1686 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_WORDLISTCOMMITFAILED +Language=English +Commit of wordlist failed. Data not available for query. +. +MessageId=0x1687 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_NOWORDLIST +Language=English +No wordlist is being constructed. May happen after fatal filter error. +. +MessageId=0x1688 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_TOOMANYFILTEREDBLOCKS +Language=English +During document filtering the limit on buffers has been exceeded. +. + + +;// +;// ISearch error codes +;// + +MessageId=0x16a0 Facility=Interface Severity=Success SymbolicName=SEARCH_S_NOMOREHITS +Language=English +End of hits has been reached. +. +MessageId=0x16a1 Facility=Interface Severity=CoError SymbolicName=SEARCH_E_NOMONIKER +Language=English +Retrival of hits as monikers is not supported (by filter passed into Init). +. +MessageId=0x16a2 Facility=Interface Severity=CoError SymbolicName=SEARCH_E_NOREGION +Language=English +Retrival of hits as filter regions is not supported (by filter passed into Init). +. + + +;// +;// CI error codes +;// + +MessageId=0x1730 Facility=Interface Severity=CoError SymbolicName=FILTER_E_TOO_BIG +Language=English +File is too large to filter. +. +MessageId=0x1731 Facility=Interface Severity=Success SymbolicName=FILTER_S_PARTIAL_CONTENTSCAN_IMMEDIATE +Language=English +A partial content scan of the disk needs to be scheduled for immediate execution. +. +MessageId=0x1732 Facility=Interface Severity=Success SymbolicName=FILTER_S_FULL_CONTENTSCAN_IMMEDIATE +Language=English +A full content scan of the disk needs to be scheduled for immediate execution. +. +MessageId=0x1733 Facility=Interface Severity=Success SymbolicName=FILTER_S_CONTENTSCAN_DELAYED +Language=English +A content scan of the disk needs to be scheduled for execution later. +. +MessageId=0x1734 Facility=Interface Severity=CoFail SymbolicName=FILTER_E_CONTENTINDEXCORRUPT +Language=English +The content index is corrupt. A content scan will to be scheduled after chkdsk or autochk is run. +. +MessageId=0x1735 Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_DATABASE +Language=English +The content index is corrupt. +. +MessageId=0x1736 Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_CATALOG +Language=English +The content index meta data is corrupt. +. +MessageId=0x1737 Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_PARTITION +Language=English +The content index partition is invalid. +. +MessageId=0x1738 Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_PRIORITY +Language=English +The priority is invalid. +. +MessageId=0x1739 Facility=Interface Severity=CoFail SymbolicName=CI_NO_STARTING_KEY +Language=English +There is no starting key. +. +MessageId=0x173a Facility=Interface Severity=CoFail SymbolicName=CI_OUT_OF_INDEX_IDS +Language=English +The content index is out of index ids. +. +MessageId=0x173b Facility=Interface Severity=CoFail SymbolicName=CI_NO_CATALOG +Language=English +There is no catalog. +. +MessageId=0x173c Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_FILTER_BUFFER +Language=English +The filter buffer is corrupt. +. +MessageId=0x173d Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_INDEX +Language=English +The index is invalid. +. +MessageId=0x173e Facility=Interface Severity=CoFail SymbolicName=CI_PROPSTORE_INCONSISTENCY +Language=English +Inconsistency in property store detected. +. +MessageId=0x173f Facility=Interface Severity=Success SymbolicName=FILTER_S_DISK_FULL +Language=English +The disk is getting full. +. + + + +;// +;// Word breaker error codes +;// + + +MessageId=0x1780 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_END_OF_TEXT +Language=English +End of text reached in text source. +. +MessageId=0x1781 Facility=Interface Severity=Success SymbolicName=LANGUAGE_S_LARGE_WORD +Language=English +Word larger than maximum length. May be truncated by word sink. +. +MessageId=0x1782 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_QUERY_ONLY +Language=English +Feature only available in query mode. +. +MessageId=0x1783 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_BUFFER_TOO_SMALL +Language=English +Buffer too small to hold composed phrase. +. +MessageId=0x1784 Facility=Interface Severity=CoError SymbolicName=LANGUAGE_E_DATABASE_NOT_FOUND +Language=English +Langauge database/cache file could not be found. +. +MessageId=0x1785 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_INIT_FAILED +Language=English +Initialization of word breaker failed. +. +MessageId=0x1790 Facility=Interface Severity=CoError SymbolicName=PSINK_E_QUERY_ONLY +Language=English +Feature only available in query mode. +. +MessageId=0x1791 Facility=Interface Severity=CoError SymbolicName=PSINK_E_INDEX_ONLY +Language=English +Feature only available in index mode. +. +MessageId=0x1792 Facility=Interface Severity=CoError SymbolicName=PSINK_E_LARGE_ATTACHMENT +Language=English +Attachment type beyond valid range. +. +MessageId=0x1793 Facility=Interface Severity=Success SymbolicName=PSINK_S_LARGE_WORD +Language=English +Word larger than maximum length. May be truncated by phrase sink. +. + + +;// Error codes for IReconcileInitiator, IReconcilableObject, IDifferencing. +;// Definitions taken from \\ole\slm\src\concord\spec\revcons2.doc. + +MessageId=0x1000 Facility=Interface Severity=CoError SymbolicName=REC_E_NOVERSION +Language=English +The requested version is unavailable. +. +MessageId=0x1001 Facility=Interface Severity=Success SymbolicName=REC_E_NOTCOMPLETE +Language=English +The reconciliation is only partially complete. +. +MessageId=0x1002 Facility=Interface Severity=CoError SymbolicName=REC_E_ABORTED +Language=English +Reconciliation aborted via abort callback. +. +MessageId=0x1003 Facility=Interface Severity=CoError SymbolicName=REC_E_NOCALLBACK +Language=English +No callback from the recocniler. +. +MessageId=0x1004 Facility=Interface Severity=CoError SymbolicName=REC_E_NORESIDUES +Language=English +The implementation does not support generation of residues. +. +MessageId=0x1005 Facility=Interface Severity=CoError SymbolicName=REC_E_WRONGOBJECT +Language=English +Callee is not the same version as that which created the difference. +. +MessageId=0x1006 Facility=Interface Severity=CoError SymbolicName=REC_E_TOODIFFERENT +Language=English +The document versions are too dissimilar to reconcile. +. + +;// Following so reconcile initiators can implement propagation dampening. + +MessageId=0x1007 Facility=Interface Severity=CoError SymbolicName=REC_S_OBJECTSIDENTICAL +Language=English +The objects are identical - i.e. further reconciliation would not result in any changes to either object. +. + +;// Following not defined in revcons2.doc, but defined by Chicago briefcase. +;// BUGBUG - MessageId/Facility are most likely incorrect. + +MessageId= Facility=Interface Severity=CoError SymbolicName=REC_E_INEEDTODOTHEUPDATES +Language=English +The destination needs to be changed +. +MessageId= Facility=Interface Severity=Success SymbolicName=REC_S_IDIDTHEUPDATES +Language=English +The destination needs to be changed +. +MessageId= Facility=Interface Severity=Success SymbolicName=REC_S_NOTCOMPLETEBUTPROPAGATE +Language=English +The destination needs to be changed +. + +;// +;// Codes 0x1000-0x10ff are reserved for the SYSMGMT component controls +;// interfaces. +;// + +MessageId=0x1000 Facility=Windows Severity=CoError SymbolicName=CTRL_E_NO_RESOURCE +Language=English +A control failure has occured because a system resource could not be obtained +. + +;// +;// Codes 0x0e00-0x0f9f are reserved for the SYSMGMT control panel +;// interfaces. +;// +;// The following ranges are to prevent slm merge collisions during the initial +;// error code checkins. These ranges will be revised when we have a better +;// idea of the actual number of error codes for each component. + +MessageId=0x0e00 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_NOTTARGETED +Language=English +This control panel does not target the required type of profile. +. +MessageId=0x0e01 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_DROPDATAREAD +Language=English +The profile data dropped on a control panel cannot be read. The data +is either corrupt or was not read back properly by a controller that wrote +part of the data. +. +MessageId=0x0e02 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_LOCALONLY +Language=English +A controller that can only operate on the local machine was asked to operate +on a remote machine. +. + +;// +;// Codes 0x1200-0x14ff are reserved for the SYSMGMT project in general +;// interfaces. +;// + +;// INSTRUM error codes below here (Starts at 0x1200) +;// INSTRUM error codes above here + +;// SWM error codes below here (Starts at 0x1300) + +MessageId=0x1300 Facility=Windows Severity=CoError SymbolicName=SWM_E_INVALIDPDF +Language=English +The file is not a valid PDF. +. +MessageId=0x1301 Facility=Windows Severity=CoError SymbolicName=SWM_E_INVALIDPDFVERSION +Language=English +Software Management does not support this version of the PDF. +. +MessageId=0x1302 Facility=Windows Severity=CoError SymbolicName=SWM_E_INTERNALERROR +Language=English +An internal error has occurred in Software Management. +. + +;// SWM error codes above here + +;// USER error codes below here (Starts at 0x1400) +;// USER error codes above here + + + +;#endif // _ALLERROR_H_ + +
\ No newline at end of file diff --git a/private/types2/mc/makefile b/private/types2/mc/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/mc/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/mc/makefile.inc b/private/types2/mc/makefile.inc new file mode 100644 index 000000000..f1ea7253b --- /dev/null +++ b/private/types2/mc/makefile.inc @@ -0,0 +1,8 @@ + +allerror.mc: queryerr.mc smctlerr.mc \ + smgmterr.mc oledberr.mc reconcil.mc + -attrib -r allerror.mc 2>nul + -del allerror.mc 2>nul + copy a_first.x + *.mc + z_last.x allerror.x + ren allerror.x allerror.mc + echo Build_Status allerror.mc was rebuilt... diff --git a/private/types2/mc/oledberr.mc b/private/types2/mc/oledberr.mc new file mode 100644 index 000000000..d2aa45764 --- /dev/null +++ b/private/types2/mc/oledberr.mc @@ -0,0 +1,446 @@ +;#ifndef _OLEDBERR_H_ +;#define _OLEDBERR_H_ + +;#ifndef FACILITY_WINDOWS + +MessageIdTypedef=HRESULT + +SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS + CoError=0x2:STATUS_SEVERITY_COERROR + CoFail=0x3:STATUS_SEVERITY_COFAIL + ) + +FacilityNames=(Interface=0x4:FACILITY_ITF + Windows=0x8:FACILITY_WINDOWS + ) + +MessageId=0x0eff Facility=Interface Severity=CoError SymbolicName=DB_E_BADACCESSORHANDLE +Language=English +Dummy error - need this error so that mc puts the above defines +inside the FACILITY_WINDOWS guard, instead of leaving it empty +. +;#endif // FACILITY_WINDOWS + +;// +;// Codes 0x0e00-0x0eff are reserved for the OLE DB group of +;// interfaces. +;// +;// 0x0e31 is free... +;// + +MessageId=0x0e00 Facility=Interface Severity=CoError SymbolicName=DB_E_BADACCESSORHANDLE +Language=English +Invalid accessor +. +MessageId=0x0e01 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWLIMITEXCEEDED +Language=English +Creating another row would have exceeded the total number of active +rows supported by the rowset +. +MessageId=0x0e02 Facility=Interface Severity=CoError SymbolicName=DB_E_READONLYACCESSOR +Language=English +Unable to write with a read-only accessor +. +MessageId=0x0e03 Facility=Interface Severity=CoError SymbolicName=DB_E_SCHEMAVIOLATION +Language=English +Given values violate the database schema +. +MessageId=0x0e04 Facility=Interface Severity=CoError SymbolicName=DB_E_BADROWHANDLE +Language=English +Invalid row handle +. +MessageId=0x0e05 Facility=Interface Severity=CoError SymbolicName=DB_E_OBJECTOPEN +Language=English +Accessor specified a column loaded with LoadObject that has not been +unloaded +. +MessageId=0x0e06 Facility=Interface Severity=CoError SymbolicName=DB_E_BADCHAPTER +Language=English +Invalid chapter +. +MessageId=0x0e07 Facility=Interface Severity=CoError SymbolicName=DB_E_INTERFACECONFLICT +Language=English +The specified interface conflicts with an existing interface goal +. +MessageId=0x0e08 Facility=Interface Severity=CoError SymbolicName=DB_E_BADBINDINFO +Language=English +Invalid binding info +. +MessageId=0x0e09 Facility=Interface Severity=CoError SymbolicName=DB_E_ACCESSVIOLATION +Language=English +Access violation +. +MessageId=0x0e0a Facility=Interface Severity=CoError SymbolicName=DB_E_NOTAREFERENCECOLUMN +Language=English +Specified column does not contain bookmarks or chapters +. +MessageId=0x0e0c Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSETOPEN +Language=English +A rowset was open on the query +. +MessageId=0x0e0d Facility=Interface Severity=CoError SymbolicName=DB_E_COSTLIMIT +Language=English +Unable to find a query plan within the given cost limit +. +MessageId=0x0e0e Facility=Interface Severity=CoError SymbolicName=DB_E_BADBOOKMARK +Language=English +Invalid bookmark +. +MessageId=0x0e0f Facility=Interface Severity=CoError SymbolicName=DB_E_BADLOCKMODE +Language=English +Invalid lock mode +. +MessageId=0x0e10 Facility=Interface Severity=CoError SymbolicName=DB_E_PARAMNOTOPTIONAL +Language=English +No value given for one or more required parameters +. +MessageId=0x0e11 Facility=Interface Severity=CoError SymbolicName=DB_E_COLUMNUNAVAILABLE +Language=English +Invalid column ID +. +MessageId=0x0e12 Facility=Interface Severity=CoError SymbolicName=DB_E_BADRATIO +Language=English +Invalid ratio +. +MessageId=0x0e13 Facility=Interface Severity=CoError SymbolicName=DB_E_BADVALUES +Language=English +Invalid value +. +MessageId=0x0e14 Facility=Interface Severity=CoError SymbolicName=DB_E_ERRORSINTREE +Language=English +Query tree contained one or more errors +. +MessageId=0x0e15 Facility=Interface Severity=CoError SymbolicName=DB_E_BADPARAMETER +Language=English +Invalid parameter +. +MessageId=0x0e16 Facility=Interface Severity=CoError SymbolicName=DB_E_BADPARAMETERCOUNT +Language=English +More values than parameters +. +MessageId=0x0e17 Facility=Interface Severity=CoError SymbolicName=DB_E_BADVARTYPE +Language=English +Value is not a VARIANT +. +MessageId=0x0e18 Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATEPARAM +Language=English +More than one value was supplied for a given parameter +. +MessageId=0x0e19 Facility=Interface Severity=CoError SymbolicName=DB_E_OVERFLOW +Language=English +Parameter value outside valid domain for that parameter +. +MessageId=0x0e1a Facility=Interface Severity=CoError SymbolicName=DB_E_PARAMNOTFOUND +Language=English +Parameter ID was not matched +. +MessageId=0x0e1b Facility=Interface Severity=CoError SymbolicName=DB_E_TYPEMISMATCH +Language=English +Value was not of a type that could be coerced to the parameter +. +MessageId=0x0e1c Facility=Interface Severity=CoError SymbolicName=DB_E_GOALREJECTED +Language=English +No nonzero weights specified for any goals supported, so goal was +rejected; current goal was not changed +. +MessageId=0x0e1d Facility=Interface Severity=CoError SymbolicName=DB_E_CANTCOERCE +Language=English +Requested coercion is not legal +. +MessageId=0x0e1e Facility=Interface Severity=CoError SymbolicName=DB_E_NOTUPDATED +Language=English +Chapter contained changed rows which are not yet updated +. +MessageId=0x0e1f Facility=Interface Severity=CoError SymbolicName=DB_E_NOQUERY +Language=English +Information was requested for a query, and the query was not set +. +MessageId=0x0e20 Facility=Interface Severity=CoError SymbolicName=DB_E_NOTREENTRANT +Language=English +Provider called a method from IRowsetNotify in the consumer and the +method has not yet returned +. +MessageId=0x0e21 Facility=Interface Severity=CoError SymbolicName=DB_E_BADROWSET +Language=English +A non-existant rowset was specified +. +MessageId=0x0e22 Facility=Interface Severity=CoError SymbolicName=DB_E_NOAGGREGATION +Language=English +A non-NULL controlling IUnknown was specified and the object being +created does not support aggregation +. +MessageId=0x0e23 Facility=Interface Severity=CoError SymbolicName=DB_E_DELETEDROW +Language=English +A given HROW referred to a hard- or soft-deleted row +. +MessageId=0x0e24 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTFETCHBACKWARDS +Language=English +The rowset does not support fetching backwards +. +MessageId=0x0e25 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSNOTRELEASED +Language=English +All HROWs must be released before new ones can be obtained +. +MessageId=0x0e26 Facility=Interface Severity=CoError SymbolicName=DB_E_INVALID +Language=English +The rowset was not chaptered +. +MessageId=0x0e27 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTCREATEACCESSOR +Language=English +An accessor has already been created and the +DBROWSETFLAGS_MULTIPLEACCESSOR flag was not set +. +MessageId=0x0e28 Facility=Interface Severity=CoError SymbolicName=DB_E_NEEDDATA +Language=English +DBINIT_NOPROMPT was specified and the provider cannot be initialized +without prompting for information +. +MessageId=0x0e29 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTSCROLLBACKWARDS +Language=English +The rowset cannot scroll backwards +. +MessageId=0x0e2a Facility=Interface Severity=CoError SymbolicName=DB_E_BADREGIONHANDLE +Language=English +Invalid region handle +. +MessageId=0x0e2b Facility=Interface Severity=CoError SymbolicName=DB_E_NONCONTIGUOUSRANGE +Language=English +The specified set of rows was not contiguous to or overlapping the +rows in the specified watch region +. +MessageId=0x0e2c Facility=Interface Severity=CoError SymbolicName=DB_E_INVALIDTRANSITION +Language=English +A transition from ALL* to MOVE* or EXTEND* was specified +. +MessageId=0x0e2d Facility=Interface Severity=CoError SymbolicName=DB_E_NOTASUBREGION +Language=English +The specified region is not a proper subregion of the region +identified by the given watch region handle +. +MessageId=0x0e2e Facility=Interface Severity=CoError SymbolicName=DB_E_NOCOMMAND +Language=English +No command has been specified for the command object +. +MessageId=0x0e2f Facility=Interface Severity=CoError SymbolicName=DB_E_INTEGRITYVIOLATION +Language=English +A specified value violated the integrity constraints for a column or +table +. +MessageId=0x0e30 Facility=Interface Severity=CoError SymbolicName=DB_E_PROPERTIESNOTAVAILABLE +Language=English +Some of the requiried properties could not be met +. +MessageId=0x0e31 Facility=Interface Severity=CoError SymbolicName=DB_E_ABORTLIMITREACHED +Language=English +Execution aborted because a resource limit has been reached; no +results have been returned +. +MessageId=0x0e32 Facility=Interface Severity=CoError SymbolicName=DB_E_ROWSETINCOMMAND +Language=English +Cannot clone a command object whose command tree contains a rowset +or rowsets +. +MessageId=0x0e33 Facility=Interface Severity=CoError SymbolicName=DB_E_CANTTRANSLATE +Language=English +Cannot represent the current tree as text +. +MessageId=0x0e34 Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATEINDEXID +Language=English +The specified index already exists +. +MessageId=0x0e35 Facility=Interface Severity=CoError SymbolicName=DB_E_NOINDEX +Language=English +The specified index does not exist +. +MessageId=0x0e36 Facility=Interface Severity=CoError SymbolicName=DB_E_INDEXINUSE +Language=English +The specified index was in use +. +MessageId=0x0e37 Facility=Interface Severity=CoError SymbolicName=DB_E_NOTABLE +Language=English +The specified table does not exist +. +MessageId=0x0e38 Facility=Interface Severity=CoError SymbolicName=DB_E_CONCURRENCYVIOLATION +Language=English +The rowset was using optimistic concurrency and the value of a +column has been changed since it was last read +. +MessageId=0x0e39 Facility=Interface Severity=CoError SymbolicName=DB_E_BADCOPY +Language=English +Errors were detected during the copy +. +MessageId=0x0e3a Facility=Interface Severity=CoError SymbolicName=DB_E_BADPRECISION +Language=English +A specified precision was invalid +. +MessageId=0x0e3b Facility=Interface Severity=CoError SymbolicName=DB_E_BADSCALE +Language=English +A specified scale was invalid +. +MessageId=0x0e3c Facility=Interface Severity=CoError SymbolicName=DB_E_BADID +Language=English +Invalid table ID +. +MessageId=0x0e3d Facility=Interface Severity=CoError SymbolicName=DB_E_BADTYPE +Language=English +A specified type was invalid +. +MessageId=0x0e3e Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATECOLUMNID +Language=English +A column ID was occurred more than once in the specification +. +MessageId=0x0e3f Facility=Interface Severity=CoError SymbolicName=DB_E_DUPLICATETABLEID +Language=English +The specified table already exists +. +MessageId=0x0e40 Facility=Interface Severity=CoError SymbolicName=DB_E_TABLEINUSE +Language=English +The specified table was in use +. +MessageId=0x0e41 Facility=Interface Severity=CoError SymbolicName=DB_E_NOLOCALE +Language=English +The specified locale ID was not supported +. +MessageId=0x0e42 Facility=Interface Severity=CoError SymbolicName=DB_E_BADRECORDNUM +Language=English +The specified record number is invalid +. +MessageId=0x0ec3 Facility=Interface Severity=CoError SymbolicName=DB_E_BOOKMARKSKIPPED +Language=English +Skipped bookmark for deleted or non-member row +. + +MessageId=0x0ec0 Facility=Interface Severity=Success SymbolicName=DB_S_ROWLIMITEXCEEDED +Language=English +Fetching requested number of rows would have exceeded total number of +active rows supported by the rowset +. +MessageId=0x0ec1 Facility=Interface Severity=Success SymbolicName=DB_S_ROWNOTFOUND +Language=English +Unable to find row for given bookmark +. +MessageId=0x0ec2 Facility=Interface Severity=Success SymbolicName=DB_S_ENDOFRESULTSET +Language=English +Reached start or end of result set +. +MessageId=0x0ec3 Facility=Interface Severity=Success SymbolicName=DB_S_BOOKMARKSKIPPED +Language=English +Skipped bookmark for deleted or non-member row +. +MessageId=0x0ec4 Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSINTREE +Language=English +Errors found in validating tree +. +MessageId=0x0ec5 Facility=Interface Severity=Success SymbolicName=DB_S_NONEXTROWSET +Language=English +There are no more rowsets +. +MessageId=0x0ec6 Facility=Interface Severity=Success SymbolicName=DB_S_ENDOFROWSET +Language=English +Reached start or end of rowset or chapter +. +;//BUGBUG - DB_S_BLOCKLIMITEDROWS is not officially sanctioned. +MessageId=0x0ec7 Facility=Interface Severity=Success SymbolicName=DB_S_BLOCKLIMITEDROWS +Language=English +Execution aborted because a resource limit has been reached; no +results have been returned +. +MessageId=0x0ec8 Facility=Interface Severity=Success SymbolicName=DB_S_BUFFERFULL +Language=English +Variable data buffer full +. +MessageId=0x0ec9 Facility=Interface Severity=Success SymbolicName=DB_S_CANTCOERCE +Language=English +Couldn't perform specified type coercion +. +MessageId=0x0eca Facility=Interface Severity=Success SymbolicName=DB_S_CANTRELEASE +Language=English +Server cannot release or downgrade a lock until the end of the +transaction +. +MessageId=0x0ecb Facility=Interface Severity=Success SymbolicName=DB_S_GOALCHANGED +Language=English +Specified weight was not supported or exceeded the supported limit +and was set to 0 or the supported limit +. +MessageId=0x0ecd Facility=Interface Severity=Success SymbolicName=DB_S_DIALECTIGNORED +Language=English +Input dialect was ignored and text was returned in different +dialect +. +MessageId=0x0ece Facility=Interface Severity=Success SymbolicName=DB_S_UNWANTEDPHASE +Language=English +Consumer is uninterested in receiving further notification calls for +this phase +. +MessageId=0x0ecf Facility=Interface Severity=Success SymbolicName=DB_S_UNWANTEDEVENT +Language=English +Consumer is uninterested in receiving further notification calls to +this method +. +MessageId=0x0ed0 Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNUNAVAILABLE +Language=English +Invalid column ID +. +MessageId=0x0ed1 Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNSCHANGED +Language=English +In order to reposition to the start of the rowset, the provider had +to reexecute the query; either the order of the columns changed or +columns were added to or removed from the rowset +. +MessageId=0x0ed2 Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSRETURNED +Language=English +The method had some errors; errors have been returned in the error +array +. +MessageId=0x0ed3 Facility=Interface Severity=Success SymbolicName=DB_S_BADROWHANDLE +Language=English +Invalid row handle +. +MessageId=0x0ed4 Facility=Interface Severity=Success SymbolicName=DB_S_DELETEDROW +Language=English +A given HROW referred to a hard-deleted row +. +MessageId=0x0ed5 Facility=Interface Severity=Success SymbolicName=DB_S_TOOMANYCHANGES +Language=English +The provider was unable to keep track of all the changes; the client +must refetch the data associated with the watch region using another +method +. +MessageId=0x0ed6 Facility=Interface Severity=Success SymbolicName=DB_S_STOPLIMITREACHED +Language=English +Execution stopped because a resource limit has been reached; results +obtained so far have been returned but execution cannot be resumed +. +MessageId=0x0ed7 Facility=Interface Severity=Success SymbolicName=DB_S_SUSPENDLIMITREACHED +Language=English +Execution suspended because a resource limit has been reached; +results obtained so far have been returned and execution can be +resumed later +. +MessageId=0x0ed8 Facility=Interface Severity=Success SymbolicName=DB_S_LOCKUPGRADED +Language=English +A lock was upgraded from the value specified +. +MessageId=0x0ed9 Facility=Interface Severity=Success SymbolicName=DB_S_PROPERTIESCHANGED +Language=English +One or more properties were changed as allowed by provider +. +MessageId=0x0eda Facility=Interface Severity=Success SymbolicName=DB_S_ERRORSOCCURRED +Language=English +Some errors occurred +. +MessageId=0x0edb Facility=Interface Severity=Success SymbolicName=DB_S_PARAMUNAVAILABLE +Language=English +A specified parameter was invalid +. +MessageId=0x0edc Facility=Interface Severity=Success SymbolicName=DB_S_CANCELED +Language=English +The change was canceled during notification; no columns are changed +. +MessageId=0x0edd Facility=Interface Severity=Success SymbolicName=DB_S_COLUMNTYPEMISMATCH +Language=English +One or more column types are incompatible; conversion errors will +occur during copying +. +;#endif // _OLEDBERR_H_ diff --git a/private/types2/mc/queryerr.mc b/private/types2/mc/queryerr.mc new file mode 100644 index 000000000..278fe9576 --- /dev/null +++ b/private/types2/mc/queryerr.mc @@ -0,0 +1,239 @@ +;// +;// Codes 0x1600-0x16ff are reserved for QUERY / TABLE +;// + +MessageId=0x1600 Facility=Interface Severity=CoError SymbolicName=QUERY_E_FAILED +Language=English +Call failed for unknown reason. +. +MessageId=0x1601 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDQUERY +Language=English +Invalid parameter. +. +MessageId=0x1602 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDRESTRICTION +Language=English +The query restriction could not be parsed. +. +MessageId=0x1603 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDSORT +Language=English +An invalid sort order was requested. +. +MessageId=0x1604 Facility=Interface Severity=CoError SymbolicName=QUERY_E_INVALIDCATEGORIZE +Language=English +An invalid categorization order was requested. +. +MessageId=0x1605 Facility=Interface Severity=CoError SymbolicName=QUERY_E_ALLNOISE +Language=English +The query contained only ignored words. +. +MessageId=0x1606 Facility=Interface Severity=CoError SymbolicName=QUERY_E_TOOCOMPLEX +Language=English +The query was too complex to be executed. +. + +;// +;// ITable error codes +;// + +MessageId=0x1620 Facility=Interface Severity=CoError SymbolicName=TBL_E_CALLFAILED +Language=English +Call failed for unknown reason. +. +MessageId=0x1621 Facility=Interface Severity=CoError SymbolicName=TBL_E_UNKNOWNCOLS +Language=English +Cannot find column(s) specified. +. +MessageId=0x1622 Facility=Interface Severity=CoError SymbolicName=TBL_E_UNABLETOCOMPLETE +Language=English +Unable to complete request. +. +MessageId=0x1623 Facility=Interface Severity=CoError SymbolicName=TBL_E_INVALIDBOOKMARK +Language=English +Specified bookmark does not reference any row in table. +. +MessageId=0x1624 Facility=Interface Severity=Success SymbolicName=TBL_W_ENDOFTABLE +Language=English +End of table reached. +. +MessageId=0x1625 Facility=Interface Severity=Success SymbolicName=TBL_W_POSITIONCHANGED +Language=English +Position changed. +. + +;// +;// Filter daemon error codes +;// + +MessageId=0x1680 Facility=Interface Severity=Success SymbolicName=FDAEMON_W_WORDLISTFULL +Language=English +Wordlist has reached maximum size. Additional documents should not be filtered. +. +MessageId=0x1681 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_LOWRESOURCE +Language=English +The system is running out of one of more resources needed for filtering, usually memory. +. +MessageId=0x1682 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_FATALERROR +Language=English +A critical error occurred during document filtering. Consult system administrator. +. +MessageId=0x1683 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_PARTITIONDELETED +Language=English +Documents not stored in content index because partition has been deleted. +. +MessageId=0x1684 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_CHANGEUPDATEFAILED +Language=English +Documents not stored in content index because update of changelist failed. +. +MessageId=0x1685 Facility=Interface Severity=Success SymbolicName=FDAEMON_W_EMPTYWORDLIST +Language=English +Final wordlist was empty. +. +MessageId=0x1686 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_WORDLISTCOMMITFAILED +Language=English +Commit of wordlist failed. Data not available for query. +. +MessageId=0x1687 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_NOWORDLIST +Language=English +No wordlist is being constructed. May happen after fatal filter error. +. +MessageId=0x1688 Facility=Interface Severity=CoError SymbolicName=FDAEMON_E_TOOMANYFILTEREDBLOCKS +Language=English +During document filtering the limit on buffers has been exceeded. +. + + +;// +;// ISearch error codes +;// + +MessageId=0x16a0 Facility=Interface Severity=Success SymbolicName=SEARCH_S_NOMOREHITS +Language=English +End of hits has been reached. +. +MessageId=0x16a1 Facility=Interface Severity=CoError SymbolicName=SEARCH_E_NOMONIKER +Language=English +Retrival of hits as monikers is not supported (by filter passed into Init). +. +MessageId=0x16a2 Facility=Interface Severity=CoError SymbolicName=SEARCH_E_NOREGION +Language=English +Retrival of hits as filter regions is not supported (by filter passed into Init). +. + + +;// +;// CI error codes +;// + +MessageId=0x1730 Facility=Interface Severity=CoError SymbolicName=FILTER_E_TOO_BIG +Language=English +File is too large to filter. +. +MessageId=0x1731 Facility=Interface Severity=Success SymbolicName=FILTER_S_PARTIAL_CONTENTSCAN_IMMEDIATE +Language=English +A partial content scan of the disk needs to be scheduled for immediate execution. +. +MessageId=0x1732 Facility=Interface Severity=Success SymbolicName=FILTER_S_FULL_CONTENTSCAN_IMMEDIATE +Language=English +A full content scan of the disk needs to be scheduled for immediate execution. +. +MessageId=0x1733 Facility=Interface Severity=Success SymbolicName=FILTER_S_CONTENTSCAN_DELAYED +Language=English +A content scan of the disk needs to be scheduled for execution later. +. +MessageId=0x1734 Facility=Interface Severity=CoFail SymbolicName=FILTER_E_CONTENTINDEXCORRUPT +Language=English +The content index is corrupt. A content scan will to be scheduled after chkdsk or autochk is run. +. +MessageId=0x1735 Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_DATABASE +Language=English +The content index is corrupt. +. +MessageId=0x1736 Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_CATALOG +Language=English +The content index meta data is corrupt. +. +MessageId=0x1737 Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_PARTITION +Language=English +The content index partition is invalid. +. +MessageId=0x1738 Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_PRIORITY +Language=English +The priority is invalid. +. +MessageId=0x1739 Facility=Interface Severity=CoFail SymbolicName=CI_NO_STARTING_KEY +Language=English +There is no starting key. +. +MessageId=0x173a Facility=Interface Severity=CoFail SymbolicName=CI_OUT_OF_INDEX_IDS +Language=English +The content index is out of index ids. +. +MessageId=0x173b Facility=Interface Severity=CoFail SymbolicName=CI_NO_CATALOG +Language=English +There is no catalog. +. +MessageId=0x173c Facility=Interface Severity=CoFail SymbolicName=CI_CORRUPT_FILTER_BUFFER +Language=English +The filter buffer is corrupt. +. +MessageId=0x173d Facility=Interface Severity=CoFail SymbolicName=CI_INVALID_INDEX +Language=English +The index is invalid. +. +MessageId=0x173e Facility=Interface Severity=CoFail SymbolicName=CI_PROPSTORE_INCONSISTENCY +Language=English +Inconsistency in property store detected. +. +MessageId=0x173f Facility=Interface Severity=Success SymbolicName=FILTER_S_DISK_FULL +Language=English +The disk is getting full. +. + + + +;// +;// Word breaker error codes +;// + + +MessageId=0x1780 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_END_OF_TEXT +Language=English +End of text reached in text source. +. +MessageId=0x1781 Facility=Interface Severity=Success SymbolicName=LANGUAGE_S_LARGE_WORD +Language=English +Word larger than maximum length. May be truncated by word sink. +. +MessageId=0x1782 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_QUERY_ONLY +Language=English +Feature only available in query mode. +. +MessageId=0x1783 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_BUFFER_TOO_SMALL +Language=English +Buffer too small to hold composed phrase. +. +MessageId=0x1784 Facility=Interface Severity=CoError SymbolicName=LANGUAGE_E_DATABASE_NOT_FOUND +Language=English +Langauge database/cache file could not be found. +. +MessageId=0x1785 Facility=Interface Severity=CoError SymbolicName=WBREAK_E_INIT_FAILED +Language=English +Initialization of word breaker failed. +. +MessageId=0x1790 Facility=Interface Severity=CoError SymbolicName=PSINK_E_QUERY_ONLY +Language=English +Feature only available in query mode. +. +MessageId=0x1791 Facility=Interface Severity=CoError SymbolicName=PSINK_E_INDEX_ONLY +Language=English +Feature only available in index mode. +. +MessageId=0x1792 Facility=Interface Severity=CoError SymbolicName=PSINK_E_LARGE_ATTACHMENT +Language=English +Attachment type beyond valid range. +. +MessageId=0x1793 Facility=Interface Severity=Success SymbolicName=PSINK_S_LARGE_WORD +Language=English +Word larger than maximum length. May be truncated by phrase sink. +. + diff --git a/private/types2/mc/readme.txt b/private/types2/mc/readme.txt new file mode 100644 index 000000000..73e504def --- /dev/null +++ b/private/types2/mc/readme.txt @@ -0,0 +1,15 @@ + + If you make a change to any of the MC files in this directory, then you + need to rebuild allerror.mc. This normally will be done automatically, + but can also be done by invoking "nmake allerror.mc". When you checkin + your changes to the private .mc files, then you should also check in the + updated allerror.mc. + + When allerror.mc is updated automatically, it will not be checked out. + It will just be attrib -r'd. + + + The whole reason for this messy requirement is that if _objects.mac does + not exist, it will be generated incorrectly when allerror.mc is not + present during the pass zero scan. This causes allerror.rc to not be built + and breaks the types2\proxy\proxy build. diff --git a/private/types2/mc/reconcil.mc b/private/types2/mc/reconcil.mc new file mode 100644 index 000000000..1f4ae808d --- /dev/null +++ b/private/types2/mc/reconcil.mc @@ -0,0 +1,56 @@ + +;// Error codes for IReconcileInitiator, IReconcilableObject, IDifferencing. +;// Definitions taken from \\ole\slm\src\concord\spec\revcons2.doc. + +MessageId=0x1000 Facility=Interface Severity=CoError SymbolicName=REC_E_NOVERSION +Language=English +The requested version is unavailable. +. +MessageId=0x1001 Facility=Interface Severity=Success SymbolicName=REC_E_NOTCOMPLETE +Language=English +The reconciliation is only partially complete. +. +MessageId=0x1002 Facility=Interface Severity=CoError SymbolicName=REC_E_ABORTED +Language=English +Reconciliation aborted via abort callback. +. +MessageId=0x1003 Facility=Interface Severity=CoError SymbolicName=REC_E_NOCALLBACK +Language=English +No callback from the recocniler. +. +MessageId=0x1004 Facility=Interface Severity=CoError SymbolicName=REC_E_NORESIDUES +Language=English +The implementation does not support generation of residues. +. +MessageId=0x1005 Facility=Interface Severity=CoError SymbolicName=REC_E_WRONGOBJECT +Language=English +Callee is not the same version as that which created the difference. +. +MessageId=0x1006 Facility=Interface Severity=CoError SymbolicName=REC_E_TOODIFFERENT +Language=English +The document versions are too dissimilar to reconcile. +. + +;// Following so reconcile initiators can implement propagation dampening. + +MessageId=0x1007 Facility=Interface Severity=CoError SymbolicName=REC_S_OBJECTSIDENTICAL +Language=English +The objects are identical - i.e. further reconciliation would not result in any changes to either object. +. + +;// Following not defined in revcons2.doc, but defined by Chicago briefcase. +;// BUGBUG - MessageId/Facility are most likely incorrect. + +MessageId= Facility=Interface Severity=CoError SymbolicName=REC_E_INEEDTODOTHEUPDATES +Language=English +The destination needs to be changed +. +MessageId= Facility=Interface Severity=Success SymbolicName=REC_S_IDIDTHEUPDATES +Language=English +The destination needs to be changed +. +MessageId= Facility=Interface Severity=Success SymbolicName=REC_S_NOTCOMPLETEBUTPROPAGATE +Language=English +The destination needs to be changed +. + diff --git a/private/types2/mc/smctlerr.mc b/private/types2/mc/smctlerr.mc new file mode 100644 index 000000000..3d5e6b624 --- /dev/null +++ b/private/types2/mc/smctlerr.mc @@ -0,0 +1,10 @@ +;// +;// Codes 0x1000-0x10ff are reserved for the SYSMGMT component controls +;// interfaces. +;// + +MessageId=0x1000 Facility=Windows Severity=CoError SymbolicName=CTRL_E_NO_RESOURCE +Language=English +A control failure has occured because a system resource could not be obtained +. + diff --git a/private/types2/mc/smgmterr.mc b/private/types2/mc/smgmterr.mc new file mode 100644 index 000000000..10c1567a7 --- /dev/null +++ b/private/types2/mc/smgmterr.mc @@ -0,0 +1,54 @@ +;// +;// Codes 0x0e00-0x0f9f are reserved for the SYSMGMT control panel +;// interfaces. +;// +;// The following ranges are to prevent slm merge collisions during the initial +;// error code checkins. These ranges will be revised when we have a better +;// idea of the actual number of error codes for each component. + +MessageId=0x0e00 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_NOTTARGETED +Language=English +This control panel does not target the required type of profile. +. +MessageId=0x0e01 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_DROPDATAREAD +Language=English +The profile data dropped on a control panel cannot be read. The data +is either corrupt or was not read back properly by a controller that wrote +part of the data. +. +MessageId=0x0e02 Facility=Windows Severity=CoError SymbolicName=CPANEL_E_LOCALONLY +Language=English +A controller that can only operate on the local machine was asked to operate +on a remote machine. +. + +;// +;// Codes 0x1200-0x14ff are reserved for the SYSMGMT project in general +;// interfaces. +;// + +;// INSTRUM error codes below here (Starts at 0x1200) +;// INSTRUM error codes above here + +;// SWM error codes below here (Starts at 0x1300) + +MessageId=0x1300 Facility=Windows Severity=CoError SymbolicName=SWM_E_INVALIDPDF +Language=English +The file is not a valid PDF. +. +MessageId=0x1301 Facility=Windows Severity=CoError SymbolicName=SWM_E_INVALIDPDFVERSION +Language=English +Software Management does not support this version of the PDF. +. +MessageId=0x1302 Facility=Windows Severity=CoError SymbolicName=SWM_E_INTERNALERROR +Language=English +An internal error has occurred in Software Management. +. + +;// SWM error codes above here + +;// USER error codes below here (Starts at 0x1400) +;// USER error codes above here + + + diff --git a/private/types2/mc/sources b/private/types2/mc/sources new file mode 100644 index 000000000..9aa86559d --- /dev/null +++ b/private/types2/mc/sources @@ -0,0 +1,16 @@ +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# +#---------------------------------------------------------------------------- + +!include ..\types2.inc + +SOURCES = allerror.mc + +NTTARGETFILE0 = allerror.mc diff --git a/private/types2/mc/z_last.x b/private/types2/mc/z_last.x new file mode 100644 index 000000000..ae00e4518 --- /dev/null +++ b/private/types2/mc/z_last.x @@ -0,0 +1,2 @@ +;#endif // _ALLERROR_H_ + diff --git a/private/types2/oledb/access.idl b/private/types2/oledb/access.idl new file mode 100644 index 000000000..b6934a165 --- /dev/null +++ b/private/types2/oledb/access.idl @@ -0,0 +1,61 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: access.idl +// +// Contents: OLE DB interface definition +// +// History: 28 Mar 1994 AlanW Created from spec +// 21 Apr 1994 PeterBu Updated to latest spec +// 20 Dec 1994 PeterBu Updated to phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a41-2a1c-11ce-ade5-00aa0044773d) + + +interface IAccessor : IUnknown { + + // + // DBBINDIO -- specifies how the bindings in an accessor are used + // + +typedef DWORD DBACCESSORFLAGS; + +enum DBACCESSORFLAGSENUM { + DBACCESSOR_READ = 0x000, + DBACCESSOR_READWRITE = 0x001, + DBACCESSOR_PASSBYREF = 0x002, + DBACCESSOR_PASSCOLUMNSBYREF = 0x004, + DBACCESSOR_ROWDATA = 0x008, + DBACCESSOR_PARAMETERDATA = 0x010, + DBACCESSOR_OPTIMIZED = 0x020 +}; + + HRESULT CreateAccessor( + [in] DBACCESSORFLAGS dwAccessorFlags, + [in] ULONG cBindings, + [in, size_is(cBindings)] const DBBINDING rgBindings[], + [in] ULONG cbRowSize, + [out] ULONG * pulErrorBinding, + [out] HACCESSOR * phAccessor + ); + + HRESULT GetBindings( + [in] HACCESSOR hAccessor, + [out] DBACCESSORFLAGS * pdwAccessorFlags, + [out] ULONG * pcBindings, + [out] DBBINDING ** prgBindings + ); + + HRESULT ReleaseAccessor( + [in] HACCESSOR hAccessor + ); + +} diff --git a/private/types2/oledb/cmdbas.idl b/private/types2/oledb/cmdbas.idl new file mode 100644 index 000000000..767c6bf2d --- /dev/null +++ b/private/types2/oledb/cmdbas.idl @@ -0,0 +1,45 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdbas.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4f-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommand : IUnknown { + + HRESULT Clone( + [in] IUnknown * pUnkOuter, + [out] ICommand ** ppClone + ); + + HRESULT Execute( + [in] IUnknown * rgpUnkOuters[], + [in] REFIID riid, + [in, out] DBPARAMS * pParams, + [out] HCHAPTER * phChapter, + [in] BOOL fResume, + [in, out] ULONG * pcRowsets, + [in, out] IUnknown *** prgpRowsets, + [out] WCHAR ** ppRowsetNames + ); + + HRESULT GetDBSession( + [in] REFIID riid, + [out] IUnknown ** ppSession + ); + +} diff --git a/private/types2/oledb/cmdcst.idl b/private/types2/oledb/cmdcst.idl new file mode 100644 index 000000000..4ea1fdc11 --- /dev/null +++ b/private/types2/oledb/cmdcst.idl @@ -0,0 +1,112 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdcst.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4e-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandCost : IUnknown { + +typedef DWORD DBRESOURCEKIND; + +enum DBRESOURCEKINDENUM { + DBRESOURCE_INVALID = 0, + DBRESOURCE_TOTAL = 1, + DBRESOURCE_CPU = 2, + DBRESOURCE_MEMORY = 3, + DBRESOURCE_DISK = 4, + DBRESOURCE_NETWORK = 5, + DBRESOURCE_RESPONSE = 6, + DBRESOURCE_ROWS = 7, + DBRESOURCE_OTHER = 8, +}; + +typedef DWORD DBCOSTUNIT; + +enum DBCOSTUNITENUM { + DBUNIT_INVALID = 0x00000, + DBUNIT_WEIGHT = 0x00001, + DBUNIT_PERCENT = 0x00002, + DBUNIT_MAXIMUM = 0x00004, + DBUNIT_MINIMUM = 0x00008, + DBUNIT_MICRO_SECOND = 0x00010, + DBUNIT_MILLI_SECOND = 0x00020, + DBUNIT_SECOND = 0x00040, + DBUNIT_MINUTE = 0x00080, + DBUNIT_HOUR = 0x00100, + DBUNIT_BYTE = 0x00200, + DBUNIT_KILO_BYTE = 0x00400, + DBUNIT_MEGA_BYTE = 0x00800, + DBUNIT_GIGA_BYTE = 0x01000, + DBUNIT_NUM_MSGS = 0x02000, + DBUNIT_NUM_LOCKS = 0x04000, + DBUNIT_NUM_ROWS = 0x08000, + DBUNIT_OTHER = 0x10000, +}; + +typedef struct tagDBCOST { + DBRESOURCEKIND eKind; + DBCOSTUNIT dwUnits; + LONG lValue; +} DBCOST; + +typedef DWORD DBEXECLIMITS; + +enum DBEXECLIMITSENUM { + DBEXECLIMITS_ABORT = 1, + DBEXECLIMITS_STOP = 2, + DBEXECLIMITS_SUSPEND = 3 +}; + + HRESULT GetAccumulatedCost( + [in] LPCWSTR pwszRowsetName, + [out] ULONG * pcCostLimits, + [out] DBCOST ** prgCostLimits + ); + + HRESULT GetCostEstimate( + [in] LPCWSTR pwszRowsetName, + [out] ULONG * pcCostEstimates, + [out] DBCOST * prgCostEstimates + ); + + HRESULT GetCostGoals( + [in] LPCWSTR pwszRowsetName, + [out] ULONG * pcCostGoals, + [out] DBCOST * prgCostGoals + ); + + HRESULT GetCostLimits( + [in] LPCWSTR pwszRowsetName, + [out] ULONG * pcCostLimits, + [out] DBCOST * prgCostLimits + ); + + HRESULT SetCostGoals( + [in] LPCWSTR pwszRowsetName, + [in] ULONG cCostGoals, + [in, size_is(cCostGoals)] DBCOST rgCostGoals[] + ); + + HRESULT SetCostLimits( + [in] LPCWSTR pwszRowsetName, + [in] ULONG cCostLimits, + [in] DBCOST * prgCostLimits, + [in] DBEXECLIMITS dwExecutionFlags + ); + +} diff --git a/private/types2/oledb/cmdpre.idl b/private/types2/oledb/cmdpre.idl new file mode 100644 index 000000000..93f747cd9 --- /dev/null +++ b/private/types2/oledb/cmdpre.idl @@ -0,0 +1,30 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdpre.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a26-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandPrepare : IUnknown { + + HRESULT Prepare( + [in] ULONG cExpectedRuns + ); + + HRESULT Unprepare( + ); + +} diff --git a/private/types2/oledb/cmdprp.idl b/private/types2/oledb/cmdprp.idl new file mode 100644 index 000000000..457e26de6 --- /dev/null +++ b/private/types2/oledb/cmdprp.idl @@ -0,0 +1,50 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdprp.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a54-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandProperties : IUnknown { + +typedef DWORD DBPROPERTYERROR; + +enum DBPROPERTYERRORENUM { + DBPROPERTYERROR_NOERROR = 0, + DBPROPERTYERROR_CONFLICTING = 1, + DBPROPERTYERROR_NOTSUPPORTED = 2, + DBPROPERTYERROR_NOTSET = 3, + DBPROPERTYERROR_BADPROPERTYOPTION = 4, + DBPROPERTYERROR_BADPROPERTYVALUE = 5, + DBPROPERTYERROR_NOTSETTABLE = 6, +}; + + HRESULT GetProperties( + [in] LPCWSTR pwszRowsetName, + [in] const ULONG cProperties, + [in, size_is(cProperties)] const GUID rgProperties[], + [out] ULONG * pcProperties, + [out, size_is(cProperties)] DBPROPERTYSUPPORT ** prgProperties + ); + + HRESULT SetProperties( + [in] LPCWSTR pwszRowsetName, + [in] ULONG cProperties, + [in, size_is(cProperties)] const DBPROPERTYSUPPORT rgProperties[], + [out, size_is(cProperties)] DBPROPERTYERROR rgPropertyErrors[] + ); + +} diff --git a/private/types2/oledb/cmdtre.idl b/private/types2/oledb/cmdtre.idl new file mode 100644 index 000000000..2523f9621 --- /dev/null +++ b/private/types2/oledb/cmdtre.idl @@ -0,0 +1,213 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdtre.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a17-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandTree : ICommand { + +typedef DWORD DBVALUEKIND; + +enum DBVALUEKINDENUM { + DBVALUEKIND_BYGUID = 256, + DBVALUEKIND_COLDEF = DBVALUEKIND_BYGUID + 1, + DBVALUEKIND_ID = DBVALUEKIND_COLDEF + 1, + DBVALUEKIND_CONTENT = DBVALUEKIND_ID + 1, + DBVALUEKIND_CONTENTVECTOR = DBVALUEKIND_CONTENT + 1, + DBVALUEKIND_GROUPINFO = DBVALUEKIND_CONTENTVECTOR + 1, + DBVALUEKIND_PARAMETER = DBVALUEKIND_GROUPINFO + 1, + DBVALUEKIND_PROPERTY = DBVALUEKIND_PARAMETER + 1, + DBVALUEKIND_SETFUNC = DBVALUEKIND_PROPERTY + 1, + DBVALUEKIND_SORTINFO = DBVALUEKIND_SETFUNC + 1, + DBVALUEKIND_TEXT = DBVALUEKIND_SORTINFO + 1, + + DBVALUEKIND_COMMAND = DBVALUEKIND_TEXT + 1, + DBVALUEKIND_MONIKER = DBVALUEKIND_COMMAND + 1, + DBVALUEKIND_ROWSET = DBVALUEKIND_MONIKER + 1, + DBVALUEKIND_DISPATCH = 9, + DBVALUEKIND_UNKNOWN = 13, + + DBVALUEKIND_EMPTY = 0, + DBVALUEKIND_NULL = 1, + DBVALUEKIND_I2 = 2, + DBVALUEKIND_I4 = 3, + DBVALUEKIND_R4 = 4, + DBVALUEKIND_R8 = 5, + DBVALUEKIND_CY = 6, + DBVALUEKIND_DATE = 7, + DBVALUEKIND_BSTR = 8, + + DBVALUEKIND_ERROR = 10, + DBVALUEKIND_BOOL = 11, + DBVALUEKIND_VARIANT = 12, + + DBVALUEKIND_VECTOR = 0x1000, + DBVALUEKIND_ARRAY = 0x2000, + DBVALUEKIND_BYREF = 0x4000, + + DBVALUEKIND_I1 = 16, + DBVALUEKIND_UI1 = 17, + DBVALUEKIND_UI2 = 18, + DBVALUEKIND_UI4 = DBVALUEKIND_UI2 + 1, + DBVALUEKIND_I8 = DBVALUEKIND_UI4 + 1, + DBVALUEKIND_UI8 = DBVALUEKIND_I8 + 1, + DBVALUEKIND_GUID = 72, + + DBVALUEKIND_BYTES = 128, + DBVALUEKIND_STR = 129, + DBVALUEKIND_WSTR = DBVALUEKIND_STR + 1, + DBVALUEKIND_NUMERIC = DBVALUEKIND_WSTR + 1, +}; + +typedef struct tagDBBYGUID { + GUID guid; + ULONG cbInfo; + [size_is(cbInfo)] BYTE * pbInfo; +} DBBYGUID; + +typedef struct tagDBCOLDEF { + DBID dbcid; + DBDATATYPE dbdt; +} DBCOLDEF; + +cpp_quote("#define FUZZY_EXACT ( 0 )") +cpp_quote("#define FUZZY_PREFIXMATCH ( 1 )") +cpp_quote("#define FUZZY_STEMMED ( 2 )") + +typedef struct tagDBCONTENT { + DWORD dwFuzzyLevel; + ULONG ulWeight; + LCID lcid; + LPWSTR pwszPhrase; +} DBCONTENT; + +cpp_quote("#define VECTOR_RANK_MIN ( 0 )") +cpp_quote("#define VECTOR_RANK_MAX ( 1 )") +cpp_quote("#define VECTOR_RANK_INNER ( 2 )") +cpp_quote("#define VECTOR_RANK_DICE ( 3 )") +cpp_quote("#define VECTOR_RANK_JACCARD ( 4 )") + +typedef struct tagDBCONTENTVECTOR { + DWORD dwRankingMethod; + ULONG cWeights; + [size_is(cWeights)] ULONG * prgulWeights; +} DBCONTENTVECTOR; + +typedef struct tagDBGROUPINFO { + LCID lcid; +} DBGROUPINFO; + +typedef struct tagDBPARAMETER { + LPWSTR pwszName; + DBTYPE dwType; + ITypeInfo * pTypeInfo; + ULONG cbMaxLength; + DBNUMERIC * pNum; + DBPARAMFLAGS dwFlags; +} DBPARAMETER; + +cpp_quote("#define DBSETFUNC_NONE = 0x0") +cpp_quote("#define DBSETFUNC_ALL = 0x1") +cpp_quote("#define DBSETFUNC_DISTINCT = 0x2") + +typedef struct tagDBSETFUNC { + DWORD dwSetQuantifier; +} DBSETFUNC; + +typedef struct tagDBSORTINFO { + LCID lcid; + BOOL fDesc; +} DBSORTINFO; + +typedef struct tagDBTEXT { + GUID guidDialect; + LPWSTR pwszText; + ULONG ulErrorLocator; + ULONG ulTokenLength; +} DBTEXT; + +typedef struct tagDBCOMMANDTREE { + DBCOMMANDOP op; + WORD wKind; + HRESULT hrError; + struct tagDBCOMMANDTREE * pctFirstChild; + struct tagDBCOMMANDTREE * pctNextSibling; + [switch_type(WORD),switch_is(wKind)] union { + [case(DBVALUEKIND_BOOL)] BOOL fValue; + [case(DBVALUEKIND_UI1)] unsigned char uchValue; + [case(DBVALUEKIND_I1)] signed char schValue; + [case(DBVALUEKIND_UI2)] unsigned short usValue; + [case(DBVALUEKIND_I2)] short sValue; + [case(DBVALUEKIND_WSTR)] LPWSTR pwszValue; + [case(DBVALUEKIND_I4)] LONG lValue; + [case(DBVALUEKIND_UI4)] ULONG ulValue; + [case(DBVALUEKIND_R4)] float flValue; + [case(DBVALUEKIND_R8)] double dblValue; + [case(DBVALUEKIND_CY)] CY cyValue; + [case(DBVALUEKIND_DATE)] DATE dateValue; + [case(DBVALUEKIND_ERROR)] SCODE scodeValue; + [case(DBVALUEKIND_I8)] __int64 llValue; + [case(DBVALUEKIND_UI8)] unsigned __int64 ullValue; + [case(DBVALUEKIND_BSTR)] BSTR * pbstrValue; + [case(DBVALUEKIND_COMMAND)] ICommand * pCommand; + [case(DBVALUEKIND_DISPATCH)] IDispatch * pDispatch; + [case(DBVALUEKIND_MONIKER)] IMoniker * pMoniker; + [case(DBVALUEKIND_ROWSET)] IRowset * pRowset; + [case(DBVALUEKIND_UNKNOWN)] IUnknown * pUnknown; + [case(DBVALUEKIND_BYGUID)] DBBYGUID * pdbbygdValue; + [case(DBVALUEKIND_COLDEF)] DBCOLDEF * pcoldfValue; + [case(DBVALUEKIND_ID)] DBID * pdbidValue; + [case(DBVALUEKIND_CONTENT)] DBCONTENT * pdbcntntValue; + [case(DBVALUEKIND_CONTENTVECTOR)] DBCONTENTVECTOR * pdbcntntvcValue; + [case(DBVALUEKIND_GROUPINFO)] DBGROUPINFO * pdbgrpinfValue; + [case(DBVALUEKIND_PARAMETER)] DBPARAMETER * pdbparamValue; + [case(DBVALUEKIND_PROPERTY)] DBPROPERTY * pdbpropValue; + [case(DBVALUEKIND_SETFUNC)] DBSETFUNC * pdbstfncValue; + [case(DBVALUEKIND_SORTINFO)] DBSORTINFO * pdbsrtinfValue; + [case(DBVALUEKIND_TEXT)] DBTEXT * pdbtxtValue; + [case(DBVALUEKIND_VECTOR)] DBVECTOR * pdbvectorValue; + [case(DBVALUEKIND_ARRAY)] SAFEARRAY * parrayValue; + [case(DBVALUEKIND_VARIANT)] VARIANT * pvarValue; + [case(DBVALUEKIND_GUID)] GUID * pGuid; + [case(DBVALUEKIND_BYTES)] BYTE * pbValue; + [case(DBVALUEKIND_STR)] char * pzValue; + [case(DBVALUEKIND_NUMERIC)] DBNUMERIC * pdbnValue; + [case(DBVALUEKIND_BYREF)] void * pvValue; + } value ; +} DBCOMMANDTREE; + + HRESULT FindErrorNodes( + [in] const DBCOMMANDTREE * pRoot, + [out] ULONG * pcErrorNodes, + [out] DBCOMMANDTREE *** prgErrorNodes + ); + + HRESULT FreeCommandTree( + [in] DBCOMMANDTREE ** ppRoot + ); + + HRESULT GetCommandTree( + [out] DBCOMMANDTREE ** ppRoot + ); + + HRESULT SetCommandTree( + [in] DBCOMMANDTREE ** ppRoot, + [in] BOOL fCopy + ); + +} diff --git a/private/types2/oledb/cmdtxt.idl b/private/types2/oledb/cmdtxt.idl new file mode 100644 index 000000000..11d5808f5 --- /dev/null +++ b/private/types2/oledb/cmdtxt.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdtxt.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a27-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandText : IUnknown { + + HRESULT GetCommandText( + [in, out] GUID * pguidDialect, + [out] LPWSTR * ppwszCommand + ); + + HRESULT SetCommandText( + [in] REFGUID rguidDialect, + [in] const LPWSTR pwszCommand + ); + +} diff --git a/private/types2/oledb/cmdval.idl b/private/types2/oledb/cmdval.idl new file mode 100644 index 000000000..eb53f1f8e --- /dev/null +++ b/private/types2/oledb/cmdval.idl @@ -0,0 +1,29 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdval.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a18-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandValidate : IUnknown { + + HRESULT ValidateCompletely( + ); + + HRESULT ValidateSyntax( + ); + +} diff --git a/private/types2/oledb/cmdwpr.idl b/private/types2/oledb/cmdwpr.idl new file mode 100644 index 000000000..f4217e727 --- /dev/null +++ b/private/types2/oledb/cmdwpr.idl @@ -0,0 +1,45 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: cmdwpr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a28-2a1c-11ce-ade5-00aa0044773d) + + +interface ICommandWithParameters : IUnknown { + + HRESULT DescribeParameters( + [out] ULONG * pcParams, + [out] DBPARAMINFO ** prgParamInfo, + [out] WCHAR ** ppNamesBuffer + ); + + HRESULT GetDefaultValues( + [in] HACCESSOR hAccessor, + [out] BYTE * pData + ); + + HRESULT MapParameterNames( + [in] ULONG cParamNames, + [in, size_is(cParamNames)] const WCHAR * rgParamNames[], + [in, out, size_is(cParamNames)] LONG rgColOrdinals[] + ); + + HRESULT SetDefaultValues( + [in] HACCESSOR hAccessor, + [in] BYTE * pData + ); + +} diff --git a/private/types2/oledb/colinf.idl b/private/types2/oledb/colinf.idl new file mode 100644 index 000000000..1d994f4ac --- /dev/null +++ b/private/types2/oledb/colinf.idl @@ -0,0 +1,47 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: colinf.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a11-2a1c-11ce-ade5-00aa0044773d) + + +interface IColumnsInfo : IUnknown { + +typedef struct tagDBCOLUMNINFO { + DBID columnid; + WCHAR * pwszName; + ULONG iNumber; + DBTYPE dwType; + ITypeInfo * pTypeInfo; + ULONG cbMaxLength; + ULONG cPrecision; + ULONG cScale; + DBCOLUMNFLAGS dwFlags; +} DBCOLUMNINFO; + + HRESULT GetColumnInfo( + [out] ULONG * pcColumns, + [out] DBCOLUMNINFO ** prgInfo, + [out] WCHAR ** ppStringsBuffer + ); + + HRESULT MapColumnIDs( + [in] ULONG cColumnIDs, + [in] const DBID rgColumnIDs[], + [in, out] LONG rgColumns[] + ); + +} diff --git a/private/types2/oledb/colrst.idl b/private/types2/oledb/colrst.idl new file mode 100644 index 000000000..e7702a9ba --- /dev/null +++ b/private/types2/oledb/colrst.idl @@ -0,0 +1,35 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: colrst.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a10-2a1c-11ce-ade5-00aa0044773d) + + +interface IColumnsRowset : IUnknown { + + HRESULT GetAvailableColumns( + [out] ULONG * pcOptColumns, + [out] DBID ** prgOptColumns + ); + + HRESULT GetColumnsRowset( + [in] IUnknown * pUnkOuter, + [in] ULONG cOptColumns, + [in, size_is(cOptColumns)] DBID rgOptColumns[], + [out] IRowset ** ppColRowset + ); + +} diff --git a/private/types2/oledb/dbccmd.idl b/private/types2/oledb/dbccmd.idl new file mode 100644 index 000000000..4e5711732 --- /dev/null +++ b/private/types2/oledb/dbccmd.idl @@ -0,0 +1,29 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbccmd.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a1d-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBCreateCommand : IUnknown { + + HRESULT CreateCommand( + [in] IUnknown * pUnkOuter, + [in] REFIID riid, + [out] IUnknown ** ppvCommand + ); + +} diff --git a/private/types2/oledb/dbcses.idl b/private/types2/oledb/dbcses.idl new file mode 100644 index 000000000..4e7b20a94 --- /dev/null +++ b/private/types2/oledb/dbcses.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: dbcses.idl +// +// Contents: OLE DB interface definition +// +// History: 13 Dec 1995 PeterBu Created from M6.1 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5d-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBCreateSession : IUnknown { + + HRESULT CreateSession( + [in] IUnknown * pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppDBSession + ); + +} diff --git a/private/types2/oledb/dbesrc.idl b/private/types2/oledb/dbesrc.idl new file mode 100644 index 000000000..4b542be38 --- /dev/null +++ b/private/types2/oledb/dbesrc.idl @@ -0,0 +1,36 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbesrc.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a1e-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBEnumerateSources : IUnknown { + +typedef DWORD DBSOURCEFLAGS; + +enum DBSOURCEFLAGSENUM { + DBSOURCE_ISENUMERATOR = 0x001, + DBSOURCE_ISPARENT = 0x002, +}; + + HRESULT Sources( + [in] IUnknown * pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppvSourcesRowset + ); + +} diff --git a/private/types2/oledb/dbinfo.idl b/private/types2/oledb/dbinfo.idl new file mode 100644 index 000000000..78d71500a --- /dev/null +++ b/private/types2/oledb/dbinfo.idl @@ -0,0 +1,259 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbinfo.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a56-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBInfo : IUnknown { + +cpp_quote("#define DBPROP_BA_PASSBYREF 0x00000001L") +cpp_quote("#define DBPROP_BA_PASSCOLUMNSBYREF 0x00000002L") + +cpp_quote("#define DBPROP_CL_START 0x00000001L") +cpp_quote("#define DBPROP_CL_END 0x00000002L") + +cpp_quote("#define DBPROP_CU_DML_STATEMENTS 0x00000001L") +cpp_quote("#define DBPROP_CU_TABLE_DEFINITION 0x00000002L") +cpp_quote("#define DBPROP_CU_INDEX_DEFINITION 0x00000004L") +cpp_quote("#define DBPROP_CU_PRIVILEGE_DEFINITION 0x00000008L") + +cpp_quote("#define DBPROP_CB_NULL 0x00000001L") +cpp_quote("#define DBPROP_CB_NON_NULL 0x00000002L") + +cpp_quote("#define DBPROP_FU_NOT_SUPPORTED 0x00000001L") +cpp_quote("#define DBPROP_FU_COLUMN 0x00000002L") +cpp_quote("#define DBPROP_FU_TABLE 0x00000004L") +cpp_quote("#define DBPROP_FU_CATALOG 0x00000008L") + +cpp_quote("#define DBPROP_GB_NOT_SUPPORTED 0x00000001L") +cpp_quote("#define DBPROP_GB_EQUALS_SELECT 0x00000002L") +cpp_quote("#define DBPROP_GB_CONTAINS_SELECT 0x00000004L") +cpp_quote("#define DBPROP_GB_NO_RELATION 0x00000008L") + +cpp_quote("#define DBPROP_HT_DIFFERENT_CATALOGS 0x00000001L") +cpp_quote("#define DBPROP_HT_DIFFERENT_PROVIDERS 0x00000002L") + +cpp_quote("#define DBPROP_IC_UPPER 0x00000001L") +cpp_quote("#define DBPROP_IC_LOWER 0x00000002L") +cpp_quote("#define DBPROP_IC_SENSITIVE 0x00000004L") +cpp_quote("#define DBPROP_IC_MIXED 0x00000008L") + +cpp_quote("#define DBPROP_LM_NONE 0x00000001L") +cpp_quote("#define DBPROP_LM_READ 0x00000002L") +cpp_quote("#define DBPROP_LM_INTENT 0x00000004L") +cpp_quote("#define DBPROP_LM_WRITE 0x00000008L") + +cpp_quote("#define DBPROP_NP_OKTODO 0x00000001L") +cpp_quote("#define DBPROP_NP_ABOUTTODO 0x00000002L") +cpp_quote("#define DBPROP_NP_SYNCHAFTER 0x00000004L") +cpp_quote("#define DBPROP_NP_FAILEDTODO 0x00000008L") +cpp_quote("#define DBPROP_NP_DIDEVENT 0x00000010L") + +cpp_quote("#define DBPROP_CB_DELETE 0x00000001L") +cpp_quote("#define DBPROP_CB_PRESERVE 0x00000002L") + +cpp_quote("#define DBPROP_SU_DML_STATEMENTS 0x00000001L") +cpp_quote("#define DBPROP_SU_TABLE_DEFINITION 0x00000002L") +cpp_quote("#define DBPROP_SU_INDEX_DEFINITION 0x00000004L") +cpp_quote("#define DBPROP_SU_PRIVILEGE_DEFINITION 0x00000008L") + +cpp_quote("#define DBPROP_SO_CORRELATEDSUBQUERIES 0x00000001L") +cpp_quote("#define DBPROP_SO_COMPARISON 0x00000002L") +cpp_quote("#define DBPROP_SO_EXISTS 0x00000004L") +cpp_quote("#define DBPROP_SO_IN 0x00000008L") +cpp_quote("#define DBPROP_SO_QUANTIFIED 0x00000010L") + +cpp_quote("#define DBPROP_TI_CHAOS 0x00000001L") +cpp_quote("#define DBPROP_TI_READUNCOMMITTED 0x00000002L") +cpp_quote("#define DBPROP_TI_BROWSE 0x00000004L") +cpp_quote("#define DBPROP_TI_CURSORSTABILITY 0x00000008L") +cpp_quote("#define DBPROP_TI_READCOMMITTED 0x00000010L") +cpp_quote("#define DBPROP_TI_REPEATABLEREAD 0x00000020L") +cpp_quote("#define DBPROP_TI_SERIALIZABLE 0x00000040L") +cpp_quote("#define DBPROP_TI_ISOLATED 0x00000080L") + +cpp_quote("#define DBPROP_TR_COMMIT_DC 0x00000001L") +cpp_quote("#define DBPROP_TR_COMMIT 0x00000002L") +cpp_quote("#define DBPROP_TR_COMMIT_NO 0x00000004L") +cpp_quote("#define DBPROP_TR_ABORT_DC 0x00000008L") +cpp_quote("#define DBPROP_TR_ABORT 0x00000010L") +cpp_quote("#define DBPROP_TR_ABORT_NO 0x00000020L") +cpp_quote("#define DBPROP_TR_DONTCARE 0x00000040L") +cpp_quote("#define DBPROP_TR_BOTH 0x00000080L") +cpp_quote("#define DBPROP_TR_NONE 0x00000100L") +cpp_quote("#define DBPROP_TR_OPTIMISTIC 0x00000200L") + +typedef DWORD DBPROPFLAGS; + +enum DBPROPFLAGSENUM { + DBPROPFLAGS_DATASOURCE = 0x01, + DBPROPFLAGS_ROWSET = 0x02, + DBPROPFLAGS_COLUMNOK = 0x04, + DBPROPFLAGS_READ = 0x08, + DBPROPFLAGS_WRITE = 0x10, + DBPROPFLAGS_PROVIDER = 0x20, +}; + +typedef struct tagDBPROPINFO { + GUID guidProperty; + DBPROPFLAGS dwPropFlags; + VARTYPE vtPropType; + VARIANT vDefault; +} DBPROPINFO; + +typedef DWORD DBLITERAL; + +enum DBLITERALENUM { + DBLITERAL_BINARY_LITERAL, + DBLITERAL_CATALOG_NAME, + DBLITERAL_CATALOG_SEPARATOR, + DBLITERAL_CHAR_LITERAL, + DBLITERAL_COLUMN_ALIAS, + DBLITERAL_COLUMN_NAME, + DBLITERAL_CORRELATION_NAME, + DBLITERAL_CURSOR_NAME, + DBLITERAL_ESCAPE_PERCENT, + DBLITERAL_ESCAPE_UNDERSCORE, + DBLITERAL_INDEX_NAME, + DBLITERAL_LIKE_PERCENT, + DBLITERAL_LIKE_UNDERSCORE, + DBLITERAL_PROCEDURE_NAME, + DBLITERAL_SCHEMA_NAME, + DBLITERAL_TABLE_NAME, + DBLITERAL_TEXT_COMMAND, + DBLITERAL_USER_NAME, + DBLITERAL_VIEW_NAME, + DBLITERAL_QUOTE, +}; + +typedef struct tagDBLITERALINFO { + DBLITERAL lt; + BOOL fSupported; + ULONG cbMaxLen; + LPWSTR pwszValidChars; + LPWSTR pwszStartingChars; +} DBLITERALINFO; + +typedef DWORD DBOPTYPE; + +enum DBOPTYPEENUM { + DBOPTYPE_TABLE, + DBOPTYPE_ROW, + DBOPTYPE_SCALAR, + DBOPTYPE_BOOLEAN, + DBOPTYPE_LA_COLDEF, + DBOPTYPE_LA_COLUMN, + DBOPTYPE_LA_COMMAND, + DBOPTYPE_LA_FROM, + DBOPTYPE_LA_INDEX, + DBOPTYPE_LA_PROJECT, + DBOPTYPE_LA_PROPERTY, + DBOPTYPE_LA_ROW, + DBOPTYPE_LA_SCALAR, + DBOPTYPE_LA_SET, + DBOPTYPE_LA_SORT, + DBOPTYPE_LE_COLDEF, + DBOPTYPE_LE_COLUMN, + DBOPTYPE_LE_COMMAND, + DBOPTYPE_LE_FROM, + DBOPTYPE_LE_INDEX, + DBOPTYPE_LE_PROJECT, + DBOPTYPE_LE_PROPERTY, + DBOPTYPE_LE_ROW, + DBOPTYPE_LE_SCALAR, + DBOPTYPE_LE_SET, + DBOPTYPE_LE_SORT, + DBOPTYPE_CATALOG_NAME, + DBOPTYPE_SCHEMA_NAME, + DBOPTYPE_OUTALL_NAME, + DBOPTYPE_DDL, + DBOPTYPE_UPDATE, +}; + +typedef DWORD DBMINORTYPE; + +enum DBMINORTYPEENUM { + DBMINORTYPE_UNORDERED = 0x001, + DBMINORTYPE_ORDERED = 0x002, + DBMINORTYPE_UNIQUE = 0x004, + DBMINORTYPE_ORDEREDUNIQUE = 0x008, + DBMINORTYPE_HIERARCHICAL = 0x010, + DBMINORTYPE_AGGREGATE_FUNCTION = 0x001, + DBMINORTYPE_BOOKMARK = 0x002, + DBMINORTYPE_COLUMN = 0x004, + DBMINORTYPE_CONSTANT = 0x008, + DBMINORTYPE_DEFAULT = 0x010, + DBMINORTYPE_EXPRESSION = 0x020, + DBMINORTYPE_NULL = 0x040, + DBMINORTYPE_PARAMETER = 0x080, + DBMINORTYPE_SCALAR_FUNCTION = 0x100, + DBMINORTYPE_UPDATE = 0x200, + DBMINORTYPE_DELETE = 0x400, + DBMINORTYPE_INSERT = 0x800, +}; + +typedef struct tagDBINPUTINFO { + DBOPTYPE dwOpType; + DBMINORTYPE dwMinorType; + ULONG cMaxInputs; + ULONG cMaxListElements; +} DBINPUTINFO; + +typedef struct tagDBOPINFO { + DBCOMMANDOP op; + GUID * pguid; + BOOL fSupported; + DBOPTYPE dwOpType; + DBMINORTYPE dwMinorType; + ULONG cReqInputs; + DBINPUTINFO * rgReqInputs; + ULONG cOptInputTypes; + DBINPUTINFO * rgOptInputTypes; +} DBOPINFO; + + + HRESULT GetPropertyInfo( + [in] ULONG cProperties, + [in, size_is(cProperties)] GUID rgProperties[], + [out] ULONG * pcPropertyInfo, + [out] DBPROPINFO ** prgPropertyInfo, + [out] WCHAR ** ppDataBuffer + ); + + HRESULT GetKeywords( + [out] LPWSTR * ppwszKeywords + ); + + HRESULT GetLiteralInfo( + [in] ULONG cLiterals, + [in, size_is(cLiterals)] DBLITERAL rgLiterals[], + [out] ULONG * pcLiteralInfo, + [out, size_is(cLiterals)] DBLITERALINFO ** prgLiteralInfo, + [out] WCHAR ** ppCharBuffer + ); + + HRESULT GetOperatorInfo( + [in] ULONG cOperators, + [in, size_is(cOperators)] DBCOMMANDOP rgOperators[], + [in, size_is(cOperators)] GUID rgOpGuids[], + [out] ULONG * pcOpInfo, + [out] DBOPINFO ** prgOpInfo, + [out] WCHAR ** ppInputInfoBuffer + ); + +} diff --git a/private/types2/oledb/dbinit.idl b/private/types2/oledb/dbinit.idl new file mode 100644 index 000000000..d76931340 --- /dev/null +++ b/private/types2/oledb/dbinit.idl @@ -0,0 +1,30 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbinit.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a1f-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBInitialize : IUnknown { + + HRESULT Initialize( + [in] ULONG cOptions, + [in, size_is(cOptions)] GUID * rgOptionsIDs, + [in, size_is(cOptions)] VARIANT * rgOptionVals + ); + +} diff --git a/private/types2/oledb/dbs.idl b/private/types2/oledb/dbs.idl new file mode 100644 index 000000000..5243d9359 --- /dev/null +++ b/private/types2/oledb/dbs.idl @@ -0,0 +1,1215 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: dbs.idl +// +// Contents: OLE/DB structure definititions +// +// History: +// 28 Mar 1994 AlanW Created from spec +// 20 Apr 1994 PeterBu Updated to latest spec +// 29 Jul 1994 AlanW Removed DBVARIANT in favor of STGVARIANT +// 20 Dec 1994 PeterBu Updated to phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +[ + uuid(0c733a80-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] + +interface DBStructureDefinitions { + +// BUGBUG - they took away DB_S_BLOCKLIMITEDROWS; what should we use in its place? + +//cpp_quote("#if !defined( DB_S_BLOCKLIMITEDROWS)") +//cpp_quote("#define DB_S_BLOCKLIMITEDROWS DB_S_ABORT_LIMITREACHED") +//cpp_quote("#endif // DB_S_BLOCKLIMITEDROWS") + + // + // A DBID is the way a particular column is identified. + // It consists of a GUID followed by either a LONG or a Unicode + // string. + // + +typedef DWORD DBKIND; + +enum DBKINDENUM { + DBKIND_GUID_NAME, + DBKIND_GUID_PROPID, + DBKIND_NAME, + DBKIND_PGUID_NAME, + DBKIND_PGUID_PROPID, + DBKIND_PROPID, + DBKIND_GUID, +}; + +typedef struct tagDBID { + [switch_type(DBKIND),switch_is(eKind)] union { + [case(DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_GUID)] GUID guid; + [case(DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID)] GUID *pguid; + } +#if(defined(NONAMELESSUNION)) + u +#endif + ; + DBKIND eKind; + [switch_type(DBKIND),switch_is(eKind)] union { + [case(DBKIND_GUID_NAME, DBKIND_NAME, DBKIND_PGUID_NAME)] LPWSTR pwszName; + [case(DBKIND_GUID_PROPID, DBKIND_PGUID_PROPID, DBKIND_PROPID)] ULONG ulPropid; + } +#if(defined(NONAMELESSUNION)) + u2 +#endif + ; +} DBID; + + // + // DBNUMERIC type + // + +#define MAXNUMERICLEN 16 + +#define DBNUM_PREC_TYPE BYTE +#define DBNUM_SCALE_TYPE BYTE +#define DBNUM_VAL_TYPE BYTE + +typedef struct tagDBNUMERIC { + DBNUM_PREC_TYPE precision; // not to exceed 28 + DBNUM_SCALE_TYPE scale; + BYTE sign; + DBNUM_VAL_TYPE val[MAXNUMERICLEN]; +} DBNUMERIC; + + // + // DBTYPE -- data type indicators + // + +typedef WORD DBTYPE; + +enum DBTYPEENUM { + // The following values exactly match VARENUM in OLE Automation and may + // be used in VARIANT + DBTYPE_EMPTY, + DBTYPE_NULL, + DBTYPE_I2, + DBTYPE_I4, + DBTYPE_R4, + DBTYPE_R8, + DBTYPE_CY, + DBTYPE_DATE, + DBTYPE_BSTR, + DBTYPE_DISPATCH, + DBTYPE_ERROR, + DBTYPE_BOOL, + DBTYPE_VARIANT, + DBTYPE_UNKNOWN, + DBTYPE_UI1 = 17, + DBTYPE_ARRAY = 0x2000, + DBTYPE_BYREF = 0x4000, + + // The following values exactly match VARENUM in OLE Automation but cannot + // be used in VARIANT + DBTYPE_I1 = 16, + DBTYPE_UI2 = 18, + DBTYPE_UI4, + DBTYPE_I8, + DBTYPE_UI8, + DBTYPE_GUID = 72, + DBTYPE_VECTOR = 0x1000, + + DBTYPE_RESERVED = 0x8000, + + // The following values are not in VARENUM in OLE + DBTYPE_BYTES = 128, + DBTYPE_STR = 129, + DBTYPE_WSTR, + DBTYPE_NUMERIC, + DBTYPE_HCHAPTER, +}; + +typedef struct tagDBVECTOR { + ULONG size; + void * ptr; +} DBVECTOR; + + // + // DBBINDING -- describes the relationship between a field and its value + // + +typedef DWORD DBCOLUMNPART; + +enum DBCOLUMNPARTENUM { + DBCOLUMNPART_VALUE = 1, + DBCOLUMNPART_LENGTH = 2, + DBCOLUMNPART_STATUS = 4 +}; + +typedef DWORD DBCOLUMNSTATUS; + +enum DBCOLUMNSTATUSENUM { + DBCOLUMNSTATUS_OK = 0, + DBCOLUMNSTATUS_ISNULL, + DBCOLUMNSTATUS_TRUNCATED, + DBCOLUMNSTATUS_SIGNMISMATCH, + DBCOLUMNSTATUS_DATAOVERFLOW, + DBCOLUMNSTATUS_CANTCOERCE, + DBCOLUMNSTATUS_CANTCREATE, + DBCOLUMNSTATUS_UNAVAILABLE, + DBCOLUMNSTATUS_ACCESSVIOLATION, + DBCOLUMNSTATUS_INTEGRITYVIOLATION, + DBCOLUMNSTATUS_SCHEMAVIOLATION, +}; + +typedef struct tagDBOBJECT { + IUnknown * pUnkOuter; + IID iid; + LPBC pbc; +} DBOBJECT; + +typedef DWORD DBPARAMIO; + +enum DBPARAMIOENUM { + DBPARAMIO_INPUT = 0x01, + DBPARAMIO_OUTPUT = 0x02, +}; + +typedef struct tagDBBINDING { + DBCOLUMNPART dwPart; + DBPARAMIO eParamIO; + ULONG iColumn; + DBTYPE dwType; + ITypeInfo * pTypeInfo; + DBNUMERIC * pNum; + ULONG obValue; + ULONG cbMaxLen; + DBOBJECT pObject; + ULONG obLength; + ULONG obStatus; +} DBBINDING; + + // + // HACCESSOR and related definitions + // + +cpp_quote("DECLARE_HANDLE(HACCESSOR);") + +cpp_quote("#if 0") +cpp_quote("// Used by MIDL only") +typedef void * HACCESSOR; +cpp_quote("#endif // 0") + +cpp_quote("#define DB_INVALID_HACCESSOR 0x00") + + // + // HROW and related definitions + // + +cpp_quote("DECLARE_HANDLE(HROW);") + +cpp_quote("#if 0") +cpp_quote("// Used by MIDL only") +typedef void * HROW; +cpp_quote("#endif // 0") + +cpp_quote("#define DB_INVALID_HROW 0x00") + + // + // HWATCHREGION and related definitions + // + +cpp_quote("DECLARE_HANDLE(HWATCHREGION);") + +cpp_quote("#if 0") +cpp_quote("// Used by MIDL only") +typedef void * HWATCHREGION; +cpp_quote("#endif // 0") + +cpp_quote("#define DBWATCHREGION_NULL NULL") + + // + // HCHAPTER and related definitions + // + +cpp_quote("DECLARE_HANDLE(HCHAPTER);") + +cpp_quote("#if 0") +cpp_quote("// Used by MIDL only") +typedef void * HCHAPTER; +cpp_quote("#endif // 0") + +// BUGBUG - it should be HCHAPTER, not CHAPTER. +cpp_quote("#define DB_INVALID_CHAPTER 0x00") +cpp_quote("#define DB_INVALID_HCHAPTER 0x00") + + // + // DBERRORINFO -- errors returned by operations that modify more than 1 row + // + +typedef struct tagDBERRORINFO { + HROW hRow; + HRESULT hResult; + ULONG iColumn; +} DBERRORINFO; + + // + // DBFAILUREINFO -- info on error rows + // + +typedef struct tagDBFAILUREINFO { + HROW hRow; + HRESULT failure; + ULONG iColumn; +} DBFAILUREINFO; + + // + // DBCOLUMNFLAGS -- describe column characteristics + // BUGBUG - ole-db spec bug #1659 - DBCOLUMNFLAGS_SELF + // + +typedef DWORD DBCOLUMNFLAGS; + +enum DBCOLUMNFLAGSENUM { + DBCOLUMNFLAGS_ISBOOKMARK = 0x0001, + DBCOLUMNFLAGS_MAYDEFER = 0x0002, + DBCOLUMNFLAGS_MAYREFERENCE = 0x0004, + DBCOLUMNFLAGS_MAYWRITE = 0x0008, + DBCOLUMNFLAGS_ISSIGNED = 0x0010, + DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x0020, + DBCOLUMNFLAGS_ISNULLABLE = 0x0040, + DBCOLUMNFLAGS_MAYBENULL = 0x0080, + DBCOLUMNFLAGS_ISCHAPTER = 0x0100, + DBCOLUMNFLAGS_ISOLEBLOB = 0x0200, + DBCOLUMNFLAGS_ISROWID = 0x0400, + DBCOLUMNFLAGS_ISROWVER = 0x0800, + DBCOLUMNFLAGS_CACHEDEFERRED = 0x1000, + DBCOLUMNFLAGS_ISSELF = 0x2000, +}; + + // + // Predefined bookmark and chapter values + // + +typedef enum tagDBBOOKMARK { + DBBMK_INVALID = 0, + DBBMK_FIRST, + DBBMK_LAST +} DBBOOKMARK; + +typedef enum tagDBCHAPTER { + DBCHP_INVALID = 0, + DBCHP_FIRST +} DBCHAPTER; + + // + // DB_INVALIDCOLUMN define + // + +cpp_quote("#define DB_INVALIDCOLUMN -100") + + // + // Predefined DBID's + // + +cpp_quote("#define DBCIDGUID {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}") +cpp_quote("#define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}") + +cpp_quote("#ifdef DBINITCONSTANTS") + +cpp_quote("extern const DBID DB_NULLCOLID = {DB_NULLGUID, DBKIND_GUID_PROPID, (LPWSTR)0};") + +cpp_quote("extern const DBID DBCOLUMN_COLUMNID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)2};") +cpp_quote("extern const DBID DBCOLUMN_NAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)3};") +cpp_quote("extern const DBID DBCOLUMN_NUMBER = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)4};") +cpp_quote("extern const DBID DBCOLUMN_TYPE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)5};") +cpp_quote("extern const DBID DBCOLUMN_MAXLENGTH = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)6};") +cpp_quote("extern const DBID DBCOLUMN_PRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)7};") +cpp_quote("extern const DBID DBCOLUMN_SCALE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)8};") +cpp_quote("extern const DBID DBCOLUMN_FLAGS = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)9};") +cpp_quote("extern const DBID DBCOLUMN_BASECOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)10};") +cpp_quote("extern const DBID DBCOLUMN_BASETABLENAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)11};") +cpp_quote("extern const DBID DBCOLUMN_COLLATINGSEQUENCE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)12};") +cpp_quote("extern const DBID DBCOLUMN_COMPUTEMODE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)13};") +cpp_quote("extern const DBID DBCOLUMN_DEFAULTVALUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)14};") +cpp_quote("extern const DBID DBCOLUMN_DOMAIN = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)15};") +cpp_quote("extern const DBID DBCOLUMN_HASDEFAULT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)16};") +cpp_quote("extern const DBID DBCOLUMN_ISAUTOINCREMENT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)17};") +cpp_quote("extern const DBID DBCOLUMN_ISCASESENSITIVE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)18};") +cpp_quote("extern const DBID DBCOLUMN_ISMULTIVALUED = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)19};") +cpp_quote("extern const DBID DBCOLUMN_ISSEARCHABLE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)20};") +cpp_quote("extern const DBID DBCOLUMN_ISUNIQUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)21};") +cpp_quote("extern const DBID DBCOLUMN_ISVERSION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)22};") +cpp_quote("extern const DBID DBCOLUMN_BASECATALOGNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)23};") +cpp_quote("extern const DBID DBCOLUMN_BASESCHEMANAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)24};") + +cpp_quote("extern const DBID SOURCES_NAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)25};") +cpp_quote("extern const DBID SOURCES_PARSENAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)26};") +cpp_quote("extern const DBID SOURCES_DESCRIPTION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)27};") +cpp_quote("extern const DBID SOURCES_FLAGS = {DBCIDGUID, DBKIND_GUID_PROPID, (LPWSTR)28};") + +cpp_quote("#else // !DBINITCONSTANTS") + +cpp_quote("extern const DBID DB_NULLCOLID;") + +cpp_quote("extern const DBID DBCOLUMN_COLUMNID;") +cpp_quote("extern const DBID DBCOLUMN_NAME;") +cpp_quote("extern const DBID DBCOLUMN_NUMBER;") +cpp_quote("extern const DBID DBCOLUMN_TYPE;") +cpp_quote("extern const DBID DBCOLUMN_MAXLENGTH;") +cpp_quote("extern const DBID DBCOLUMN_PRECISION;") +cpp_quote("extern const DBID DBCOLUMN_SCALE;") +cpp_quote("extern const DBID DBCOLUMN_FLAGS;") +cpp_quote("extern const DBID DBCOLUMN_BASECOLUMNNAME;") +cpp_quote("extern const DBID DBCOLUMN_BASETABLENAME;") +cpp_quote("extern const DBID DBCOLUMN_COLLATINGSEQUENCE;") +cpp_quote("extern const DBID DBCOLUMN_COMPUTEMODE;") +cpp_quote("extern const DBID DBCOLUMN_DEFAULTVALUE;") +cpp_quote("extern const DBID DBCOLUMN_DOMAIN;") +cpp_quote("extern const DBID DBCOLUMN_HASDEFAULT;") +cpp_quote("extern const DBID DBCOLUMN_ISAUTOINCREMENT;") +cpp_quote("extern const DBID DBCOLUMN_ISCASESENSITIVE;") +cpp_quote("extern const DBID DBCOLUMN_ISMULTIVALUED;") +cpp_quote("extern const DBID DBCOLUMN_ISSEARCHABLE;") +cpp_quote("extern const DBID DBCOLUMN_ISUNIQUE;") +cpp_quote("extern const DBID DBCOLUMN_ISVERSION;") +cpp_quote("extern const DBID DBCOLUMN_BASECATALOGNAME;") +cpp_quote("extern const DBID DBCOLUMN_BASESCHEMANAME;") + +cpp_quote("extern const DBID SOURCES_NAME;") +cpp_quote("extern const DBID SOURCES_PARSENAME;") +cpp_quote("extern const DBID SOURCES_DESCRIPTION;") +cpp_quote("extern const DBID SOURCES_FLAGS;") + +cpp_quote("#endif // DBINITCONSTANTS") + + // + // Well-known property GUIDs, 'like' GUIDs, and text node GUIDs + // + +cpp_quote("#ifdef DBINITCONSTANTS") + +cpp_quote("extern const GUID DB_PROPERTY_CHECK_OPTION = {0xc8b5220b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED = {0xc8b521f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_DESCRIPTION = {0xc8b521f1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_DEFAULT_VALUE = {0xc8b521f2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_DROP_CASCADE = {0xc8b521f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS = {0xc8b52230,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_NULLABLE = {0xc8b521f4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_UNIQUE = {0xc8b521f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_PRIMARY = {0xc8b521fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_CLUSTERED = {0xc8b521ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_NONCLUSTERED = {0xc8b52200,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_BTREE = {0xc8b52201,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_HASH = {0xc8b52202,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_FILLFACTOR = {0xc8b52203,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_INITIALSIZE = {0xc8b52204,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_DISALLOWNULL = {0xc8b52205,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_IGNORENULL = {0xc8b52206,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_IGNOREANYNULL = {0xc8b52207,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_SORTBOOKMARKS = {0xc8b52208,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_AUTOMATICUPDATE = {0xc8b52209,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_EXPLICITUPDATE = {0xc8b5220a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_WITH_LOCAL_CHECK_OPTION = {0xc8b52256,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DB_PROPERTY_WITH_CASCADED_CHECK_OPTION = {0xc8b52257,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBGUID_LIKE_SQL = {0xc8b521f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_LIKE_DOS = {0xc8b521f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_LIKE_OFS = {0xc8b521f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_LIKE_MAPI = {0xc8b521f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_SQL92 = {0xc8b521fa,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_DBSQL = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_TSQL = {0xc8b521fd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBGUID_ACCESSSQL = {0xc8b521fe,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBINIT_OPT_HWND = {0xc8b5227b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBINIT_OPT_LOCATION = {0xc8b5220d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBINIT_OPT_NAME = {0xc8b5220c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBINIT_OPT_PASSWORD = {0xc8b5220f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBINIT_OPT_TIMEOUT = {0xc8b5227c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBINIT_OPT_USERID = {0xc8b5220e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBSCHEMA_ASSERTIONS = {0xc8b52210,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_CATALOGS = {0xc8b52211,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_CHARACTER_SETS = {0xc8b52212,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_COLLATIONS = {0xc8b52213,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_COLUMNS = {0xc8b52214,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_CHECK_CONSTRAINTS = {0xc8b52215,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE = {0xc8b52216,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE = {0xc8b52217,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_KEY_COLUMN_USAGE_CONSTRAINTS = {0xc8b52218,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS = {0xc8b52219,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TABLE_CONSTRAINTS = {0xc8b5221a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_DOMAIN_COLUMN_USAGE = {0xc8b5221b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_DOMAINS = {0xc8b5221c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_DOMAIN_CONSTRAINTS = {0xc8b5221d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_INDEXES = {0xc8b5221e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_OBJECT_ACTIONS = {0xc8b5221f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_OBJECTS = {0xc8b52220,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_COLUMN_PRIVILEGES = {0xc8b52221,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TABLE_PRIVILEGES = {0xc8b52222,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_USAGE_PRIVILEGES = {0xc8b52223,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_PROCEDURES = {0xc8b52224,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_SCHEMATA = {0xc8b52225,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_SQL_LANGUAGES = {0xc8b52226,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_STATISTICS = {0xc8b52227,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_SYNONYMS = {0xc8b52228,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TABLES = {0xc8b52229,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TRANSLATIONS = {0xc8b5222a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TRIGGERS = {0xc8b5222b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_TYPES = {0xc8b5222c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_VIEWS = {0xc8b5222d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE = {0xc8b5222e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBSCHEMA_VIEW_TABLE_USAGE = {0xc8b5222f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBCOL_SELFCOLUMNS = {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBCOL_SPECIALCOL = {0xc8b52232,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBPROP_ABORTRETAINING = {0xc8b5224b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_BOOKMARKS = {0xc8b5223e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CACHEDEFERRED = {0xc8b52287,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CANFETCHBACKWARDS = {0xc8b5223c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CANHOLDROWS = {0xc8b52241,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CANRELEASELOCKS = {0xc8b52245,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CANSCROLLBACKWARDS = {0xc8b5223d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CHAPTERED = {0xc8b52246,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_COMMITRETAINING = {0xc8b5224a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_COUNTOFCOLUMNS = {0xc8b52236,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_DEFERRED = {0xc8b52233,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_DISCONTIGUOUS = {0xc8b52244,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_LITERALBOOKMARKS = {0xc8b5223f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXOPENROWS = {0xc8b52237,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXOPENROWSPERCHAPTER = {0xc8b52239,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXPENDINGCHANGEROWS = {0xc8b52238,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXPENDINGCHANGESPERCHAPTER = {0xc8b5223a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAYWRITECOLUMN = {0xc8b52288,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MEMORYUSAGE = {0xc8b52235,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MULTICHAPTERED = {0xc8b52247,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MULTIPLEACCESSORS = {0xc8b52289,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MULTIPLERESULTSETS = {0xc8b52255,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_NOCOLUMNRESTRICT = {0xc8b52242,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_NOROWRESTRICT = {0xc8b52243,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_ORDEREDBOOKMARKS = {0xc8b52240,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_OTHERINSERT = {0xc8b5224f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_OTHERUPDATEDELETE = {0xc8b5224e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_OWNINSERT = {0xc8b5224d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_OWNUPDATEDELETE = {0xc8b5224c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PROPERTIESINERROR = {0xc8b5228a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_QUICKRESTART = {0xc8b52253,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_REENTRANTEVENTS = {0xc8b52249,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_REMOVEDELETED = {0xc8b52250,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SERVERCURSOR = {0xc8b52251,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_TRUEIDENTITY = {0xc8b52248,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBPROP_ACTIVESESSIONS = {0xc8b52256,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_ASYNCTXNCOMMIT = {0xc8b52257,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_BYREFACCESSORS = {0xc8b52258,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CATALOGLOCATION = {0xc8b52259,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CATALOGTERM = {0xc8b5225a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CATALOGUSAGE = {0xc8b5225b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_CONCATNULLBEHAVIOR = {0xc8b5225c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_DATASOURCENAME = {0xc8b5225d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_DBMSNAME = {0xc8b5225e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_DBMSVER = {0xc8b5225f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_FILEUSAGE = {0xc8b52260,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_GROUPBY = {0xc8b52261,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_HETEROGENEOUSTABLES = {0xc8b52262,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_IDENTIFIERCASE = {0xc8b52263,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_LOCKMODES = {0xc8b52264,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXINDEXSIZE = {0xc8b52265,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXROWSIZE = {0xc8b52266,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXROWSIZEINCLUDESBLOB = {0xc8b52267,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MAXTABLESINSELECT = {0xc8b52268,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_MULTITABLEUPDATE = {0xc8b52269,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_NOTIFICATIONPHASES = {0xc8b5226a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_OLEOBJECTS = {0xc8b5226b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_ORDERBYCOLUMNSINSELECT = {0xc8b5226c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PREPARECOMMITBEHAVIOR = {0xc8b5226d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PREPAREABORTBEHAVIOR = {0xc8b5226e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PROVIDEREXTENSIONS = {0xc8b5226f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PROVIDEROLEDBVER = {0xc8b52270,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PROVIDERNAME = {0xc8b52271,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_PROVIDERVER = {0xc8b52272,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_QUOTEDIDENTIFIERCASE = {0xc8b52273,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SCHEMATERM = {0xc8b52274,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SCHEMAUSAGE = {0xc8b52275,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SQLDIALECTS = {0xc8b52276,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SUBQUERIES = {0xc8b52277,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SUPPORTEDTXNISOLEVELS = {0xc8b52278,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_SUPPORTEDTXNISORETAIN = {0xc8b52279,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_TABLETERM = {0xc8b5227a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("extern const GUID DBPROP_INDEX_AUTOUPDATE = {0xc8b5227d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_CLUSTERED = {0xc8b5227e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_FILLFACTOR = {0xc8b5227f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_INITIALSIZE = {0xc8b52280,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_NULLCOLLATION = {0xc8b52281,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_NULLS = {0xc8b52282,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_PRIMARYKEY = {0xc8b52283,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_SORTBOOKMARKS = {0xc8b52284,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_TYPE = {0xc8b52285,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") +cpp_quote("extern const GUID DBPROP_INDEX_UNIQUE = {0xc8b52286,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};") + +cpp_quote("#else // !DBINITCONSTANTS") + +cpp_quote("extern const GUID DB_PROPERTY_CHECK_OPTION;") +cpp_quote("extern const GUID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED;") +cpp_quote("extern const GUID DB_PROPERTY_DESCRIPTION;") +cpp_quote("extern const GUID DB_PROPERTY_DEFAULT_VALUE;") +cpp_quote("extern const GUID DB_PROPERTY_DROP_CASCADE;") +cpp_quote("extern const GUID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS;") +cpp_quote("extern const GUID DB_PROPERTY_NULLABLE;") +cpp_quote("extern const GUID DB_PROPERTY_UNIQUE;") +cpp_quote("extern const GUID DB_PROPERTY_PRIMARY;") +cpp_quote("extern const GUID DB_PROPERTY_CLUSTERED;") +cpp_quote("extern const GUID DB_PROPERTY_NONCLUSTERED;") +cpp_quote("extern const GUID DB_PROPERTY_BTREE;") +cpp_quote("extern const GUID DB_PROPERTY_HASH;") +cpp_quote("extern const GUID DB_PROPERTY_FILLFACTOR;") +cpp_quote("extern const GUID DB_PROPERTY_INITIALSIZE;") +cpp_quote("extern const GUID DB_PROPERTY_DISALLOWNULL;") +cpp_quote("extern const GUID DB_PROPERTY_IGNORENULL;") +cpp_quote("extern const GUID DB_PROPERTY_IGNOREANYNULL;") +cpp_quote("extern const GUID DB_PROPERTY_SORTBOOKMARKS;") +cpp_quote("extern const GUID DB_PROPERTY_AUTOMATICUPDATE;") +cpp_quote("extern const GUID DB_PROPERTY_EXPLICITUPDATE;") +cpp_quote("extern const GUID DB_PROPERTY_WITH_LOCAL_CHECK_OPTION;") +cpp_quote("extern const GUID DB_PROPERTY_WITH_CASCADED_CHECK_OPTION;") + +cpp_quote("extern const GUID DBGUID_LIKE_SQL;") +cpp_quote("extern const GUID DBGUID_LIKE_DOS;") +cpp_quote("extern const GUID DBGUID_LIKE_OFS;") +cpp_quote("extern const GUID DBGUID_LIKE_MAPI;") +cpp_quote("extern const GUID DBGUID_SQL92;") +cpp_quote("extern const GUID DBGUID_DBSQL;") +cpp_quote("extern const GUID DBGUID_TSQL;") +cpp_quote("extern const GUID DBGUID_ACCESSSQL;") + +cpp_quote("extern const GUID DBINIT_OPT_HWND;") +cpp_quote("extern const GUID DBINIT_OPT_LOCATION;") +cpp_quote("extern const GUID DBINIT_OPT_NAME;") +cpp_quote("extern const GUID DBINIT_OPT_PASSWORD;") +cpp_quote("extern const GUID DBINIT_OPT_TIMEOUT;") +cpp_quote("extern const GUID DBINIT_OPT_USERID;") + +cpp_quote("extern const GUID DBSCHEMA_ASSERTIONS;") +cpp_quote("extern const GUID DBSCHEMA_CATALOGS;") +cpp_quote("extern const GUID DBSCHEMA_CHARACTER_SETS;") +cpp_quote("extern const GUID DBSCHEMA_COLLATIONS;") +cpp_quote("extern const GUID DBSCHEMA_COLUMNS;") +cpp_quote("extern const GUID DBSCHEMA_CHECK_CONSTRAINTS;") +cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE;") +cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE;") +cpp_quote("extern const GUID DBSCHEMA_KEY_COLUMN_USAGE_CONSTRAINTS;") +cpp_quote("extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS;") +cpp_quote("extern const GUID DBSCHEMA_TABLE_CONSTRAINTS;") +cpp_quote("extern const GUID DBSCHEMA_DOMAIN_COLUMN_USAGE;") +cpp_quote("extern const GUID DBSCHEMA_DOMAINS;") +cpp_quote("extern const GUID DBSCHEMA_DOMAIN_CONSTRAINTS;") +cpp_quote("extern const GUID DBSCHEMA_INDEXES;") +cpp_quote("extern const GUID DBSCHEMA_OBJECT_ACTIONS;") +cpp_quote("extern const GUID DBSCHEMA_OBJECTS;") +cpp_quote("extern const GUID DBSCHEMA_COLUMN_PRIVILEGES;") +cpp_quote("extern const GUID DBSCHEMA_TABLE_PRIVILEGES;") +cpp_quote("extern const GUID DBSCHEMA_USAGE_PRIVILEGES;") +cpp_quote("extern const GUID DBSCHEMA_PROCEDURES;") +cpp_quote("extern const GUID DBSCHEMA_SCHEMATA;") +cpp_quote("extern const GUID DBSCHEMA_SQL_LANGUAGES;") +cpp_quote("extern const GUID DBSCHEMA_STATISTICS;") +cpp_quote("extern const GUID DBSCHEMA_SYNONYMS;") +cpp_quote("extern const GUID DBSCHEMA_TABLES;") +cpp_quote("extern const GUID DBSCHEMA_TRANSLATIONS;") +cpp_quote("extern const GUID DBSCHEMA_TRIGGERS;") +cpp_quote("extern const GUID DBSCHEMA_TYPES;") +cpp_quote("extern const GUID DBSCHEMA_VIEWS;") +cpp_quote("extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE;") +cpp_quote("extern const GUID DBSCHEMA_VIEW_TABLE_USAGE;") + +cpp_quote("extern const GUID DBCOL_SELFCOLUMNS;") +cpp_quote("extern const GUID DBCOL_SPECIALCOL;") + +cpp_quote("extern const GUID DBPROP_ABORTRETAINING;") +cpp_quote("extern const GUID DBPROP_BOOKMARKS;") +cpp_quote("extern const GUID DBPROP_CACHEDEFERRED;") +cpp_quote("extern const GUID DBPROP_CANFETCHBACKWARDS;") +cpp_quote("extern const GUID DBPROP_CANHOLDROWS;") +cpp_quote("extern const GUID DBPROP_CANRELEASELOCKS;") +cpp_quote("extern const GUID DBPROP_CANSCROLLBACKWARDS;") +cpp_quote("extern const GUID DBPROP_CHAPTERED;") +cpp_quote("extern const GUID DBPROP_COMMITRETAINING;") +cpp_quote("extern const GUID DBPROP_COUNTOFCOLUMNS;") +cpp_quote("extern const GUID DBPROP_DEFERRED;") +cpp_quote("extern const GUID DBPROP_DISCONTIGUOUS;") +cpp_quote("extern const GUID DBPROP_LITERALBOOKMARKS;") +cpp_quote("extern const GUID DBPROP_MAXOPENROWS;") +cpp_quote("extern const GUID DBPROP_MAXOPENROWSPERCHAPTER;") +cpp_quote("extern const GUID DBPROP_MAXPENDINGCHANGEROWS;") +cpp_quote("extern const GUID DBPROP_MAXPENDINGCHANGESPERCHAPTER;") +cpp_quote("extern const GUID DBPROP_MAYWRITECOLUMN;") +cpp_quote("extern const GUID DBPROP_MEMORYUSAGE;") +cpp_quote("extern const GUID DBPROP_MULTICHAPTERED;") +cpp_quote("extern const GUID DBPROP_MULTIPLEACCESSORS;") +cpp_quote("extern const GUID DBPROP_MULTIPLERESULTSETS;") +cpp_quote("extern const GUID DBPROP_NOCOLUMNRESTRICT;") +cpp_quote("extern const GUID DBPROP_NOROWRESTRICT;") +cpp_quote("extern const GUID DBPROP_ORDEREDBOOKMARKS;") +cpp_quote("extern const GUID DBPROP_OTHERINSERT;") +cpp_quote("extern const GUID DBPROP_OTHERUPDATEDELETE;") +cpp_quote("extern const GUID DBPROP_OWNINSERT;") +cpp_quote("extern const GUID DBPROP_OWNUPDATEDELETE;") +cpp_quote("extern const GUID DBPROP_PROPERTIESINERROR;") +cpp_quote("extern const GUID DBPROP_QUICKRESTART;") +cpp_quote("extern const GUID DBPROP_REENTRANTEVENTS;") +cpp_quote("extern const GUID DBPROP_REMOVEDELETED;") +cpp_quote("extern const GUID DBPROP_SERVERCURSOR;") +cpp_quote("extern const GUID DBPROP_TRUEIDENTITY;") + +cpp_quote("extern const GUID DBPROP_ACTIVESESSIONS;") +cpp_quote("extern const GUID DBPROP_ASYNCTXNCOMMIT;") +cpp_quote("extern const GUID DBPROP_BYREFACCESSORS;") +cpp_quote("extern const GUID DBPROP_CATALOGLOCATION;") +cpp_quote("extern const GUID DBPROP_CATALOGTERM;") +cpp_quote("extern const GUID DBPROP_CATALOGUSAGE;") +cpp_quote("extern const GUID DBPROP_CONCATNULLBEHAVIOR;") +cpp_quote("extern const GUID DBPROP_DATASOURCENAME;") +cpp_quote("extern const GUID DBPROP_DBMSNAME;") +cpp_quote("extern const GUID DBPROP_DBMSVER;") +cpp_quote("extern const GUID DBPROP_FILEUSAGE;") +cpp_quote("extern const GUID DBPROP_GROUPBY;") +cpp_quote("extern const GUID DBPROP_HETEROGENEOUSTABLES;") +cpp_quote("extern const GUID DBPROP_IDENTIFIERCASE;") +cpp_quote("extern const GUID DBPROP_LOCKMODES;") +cpp_quote("extern const GUID DBPROP_MAXINDEXSIZE;") +cpp_quote("extern const GUID DBPROP_MAXROWSIZE;") +cpp_quote("extern const GUID DBPROP_MAXROWSIZEINCLUDESBLOB;") +cpp_quote("extern const GUID DBPROP_MAXTABLESINSELECT;") +cpp_quote("extern const GUID DBPROP_MULTITABLEUPDATE;") +cpp_quote("extern const GUID DBPROP_NOTIFICATIONPHASES;") +cpp_quote("extern const GUID DBPROP_OLEOBJECTS;") +cpp_quote("extern const GUID DBPROP_ORDERBYCOLUMNSINSELECT;") +cpp_quote("extern const GUID DBPROP_PREPARECOMMITBEHAVIOR;") +cpp_quote("extern const GUID DBPROP_PREPAREABORTBEHAVIOR;") +cpp_quote("extern const GUID DBPROP_PROVIDEREXTENSIONS;") +cpp_quote("extern const GUID DBPROP_PROVIDEROLEDBVER;") +cpp_quote("extern const GUID DBPROP_PROVIDERNAME;") +cpp_quote("extern const GUID DBPROP_PROVIDERVER;") +cpp_quote("extern const GUID DBPROP_QUOTEDIDENTIFIERCASE;") +cpp_quote("extern const GUID DBPROP_SCHEMATERM;") +cpp_quote("extern const GUID DBPROP_SCHEMAUSAGE;") +cpp_quote("extern const GUID DBPROP_SQLDIALECTS;") +cpp_quote("extern const GUID DBPROP_SUBQUERIES;") +cpp_quote("extern const GUID DBPROP_SUPPORTEDTXNISOLEVELS;") +cpp_quote("extern const GUID DBPROP_SUPPORTEDTXNISORETAIN;") +cpp_quote("extern const GUID DBPROP_TABLETERM;") + +cpp_quote("extern const GUID DBPROP_INDEX_AUTOUPDATE;") +cpp_quote("extern const GUID DBPROP_INDEX_CLUSTERED;") +cpp_quote("extern const GUID DBPROP_INDEX_FILLFACTOR;") +cpp_quote("extern const GUID DBPROP_INDEX_INITIALSIZE;") +cpp_quote("extern const GUID DBPROP_INDEX_NULLCOLLATION;") +cpp_quote("extern const GUID DBPROP_INDEX_NULLS;") +cpp_quote("extern const GUID DBPROP_INDEX_PRIMARYKEY;") +cpp_quote("extern const GUID DBPROP_INDEX_SORTBOOKMARKS;") +cpp_quote("extern const GUID DBPROP_INDEX_TYPE;") +cpp_quote("extern const GUID DBPROP_INDEX_UNIQUE;") + +cpp_quote("#endif // DBINITCONSTANTS") + + // + // DBCOMMANDTREE related definitions + // + +typedef DWORD DBCOMMANDOP; + +enum DBCOMMANDOPENUM { + DBOP_scalar_constant, + + DBOP_DEFAULT, + DBOP_NULL, + + DBOP_bookmark_name, + + DBOP_catalog_name, + DBOP_column_name, + + DBOP_schema_name, + + DBOP_outall_name, + + DBOP_qualifier_name, + + DBOP_qualified_column_name, + + DBOP_table_name, + + DBOP_nested_table_name, + + DBOP_nested_column_name, + + DBOP_row, + + DBOP_table, + + DBOP_sort, + + DBOP_distinct, + DBOP_distinct_order_preserving, + + DBOP_alias, + + DBOP_cross_join, + + DBOP_union_join, + + DBOP_inner_join, + DBOP_left_semi_join, + DBOP_right_semi_join, + DBOP_left_anti_semi_join, + DBOP_right_anti_semi_join, + DBOP_left_outer_join, + DBOP_right_outer_join, + DBOP_full_outer_join, + + DBOP_natural_join, + DBOP_natural_left_outer_join, + DBOP_natural_right_outer_join, + DBOP_natural_full_outer_join, + + DBOP_set_intersection, + DBOP_set_union, + DBOP_set_left_difference, + DBOP_set_right_difference, + DBOP_set_anti_difference, + + DBOP_bag_intersection, + DBOP_bag_union, + DBOP_bag_left_difference, + DBOP_bag_right_difference, + DBOP_bag_anti_difference, + + DBOP_division, + + DBOP_relative_sampling, + + DBOP_absolute_sampling, + + DBOP_transitive_closure, + + DBOP_recursive_union, + + DBOP_aggregate, + + DBOP_select, + DBOP_order_preserving_select, + + DBOP_project, + DBOP_project_order_preserving, + + DBOP_top, + DBOP_top_percent, + DBOP_top_plus_ties, + DBOP_top_percent_plus_ties, + + DBOP_rank, + DBOP_rank_ties_equally, + DBOP_rank_ties_equally_and_skip, + + DBOP_navigate, + + DBOP_nesting, + + DBOP_unnesting, + + DBOP_nested_apply, + + DBOP_cross_tab, + + DBOP_is_NULL, + DBOP_is_NOT_NULL, + + DBOP_equal, + DBOP_not_equal, + DBOP_less, + DBOP_less_equal, + DBOP_greater, + DBOP_greater_equal, + DBOP_equal_all, + DBOP_not_equal_all, + DBOP_less_all, + DBOP_less_equal_all, + DBOP_greater_all, + DBOP_greater_equal_all, + DBOP_equal_any, + DBOP_not_equal_any, + DBOP_less_any, + DBOP_less_equal_any, + DBOP_greater_any, + DBOP_greater_equal_any, + + DBOP_anybits, + DBOP_allbits, + DBOP_anybits_any, + DBOP_allbits_any, + DBOP_anybits_all, + DBOP_allbits_all, + + DBOP_between, + DBOP_between_unordered, + + DBOP_match, + DBOP_match_unique, + DBOP_match_partial, + DBOP_match_partial_unique, + DBOP_match_full, + DBOP_match_full_unique, + + DBOP_scalar_parameter, + + DBOP_scalar_function, + + DBOP_plus, + DBOP_minus, + DBOP_times, + DBOP_over, + DBOP_div, + DBOP_modulo, + DBOP_power, + + DBOP_like, + DBOP_sounds_like, + + DBOP_is_INVALID, + DBOP_is_TRUE, + DBOP_is_FALSE, + + DBOP_and, + DBOP_or, + DBOP_xor, + DBOP_equivalent, + + DBOP_not, + + DBOP_overlaps, + DBOP_case_condition, + DBOP_case_value, + DBOP_nullif, + DBOP_cast, + DBOP_coalesce, + DBOP_position, + DBOP_extract, + DBOP_char_length, + DBOP_octet_length, + DBOP_bit_length, + DBOP_substring, + DBOP_upper, + DBOP_lower, + DBOP_trim, + DBOP_translate, + DBOP_convert, + DBOP_string_concat, + DBOP_current_date, + DBOP_current_time, + DBOP_current_timestamp, + + DBOP_content_select, + + DBOP_content, + DBOP_content_freetext, + + DBOP_content_proximity, + + DBOP_content_vector_or, + + DBOP_delete, + DBOP_update, + DBOP_insert, + + DBOP_min, + DBOP_max, + DBOP_count, + DBOP_sum, + DBOP_avg, + DBOP_any_sample, + DBOP_stddev, + DBOP_stddev_pop, + DBOP_var, + DBOP_var_pop, + DBOP_first, + DBOP_last, + + DBOP_in, + + DBOP_exists, + DBOP_unique, + + DBOP_subset, + DBOP_proper_subset, + DBOP_superset, + DBOP_proper_superset, + DBOP_disjoint, + + DBOP_pass_through, + + DBOP_defined_by_GUID, + + DBOP_text_command, + + DBOP_SQL_select, + + DBOP_prior_command_tree, + + DBOP_add_columns, + + DBOP_column_list_anchor, + DBOP_column_list_element, + + DBOP_command_list_anchor, + DBOP_command_list_element, + + DBOP_from_list_anchor, + DBOP_from_list_element, + + DBOP_project_list_anchor, + DBOP_project_list_element, + + DBOP_row_list_anchor, + DBOP_row_list_element, + + DBOP_scalar_list_anchor, + DBOP_scalar_list_element, + + DBOP_set_list_anchor, + DBOP_set_list_element, + + DBOP_sort_list_anchor, + DBOP_sort_list_element, + + DBOP_alter_character_set, + + DBOP_alter_collation, + + DBOP_alter_domain, + + DBOP_alter_index, + + DBOP_alter_procedure, + + DBOP_alter_schema, + + DBOP_alter_table, + + DBOP_alter_trigger, + + DBOP_alter_view, + + DBOP_coldef_list_anchor, + + DBOP_coldef_list_element, + + DBOP_create_assertion, + + DBOP_create_character_set, + + DBOP_create_collation, + + DBOP_create_domain, + + DBOP_create_index, + + DBOP_create_procedure, + + DBOP_create_schema, + + DBOP_create_table, + + DBOP_create_temporary_table, + + DBOP_create_translation, + + DBOP_create_trigger, + + DBOP_create_view, + + DBOP_drop_assertion, + + DBOP_drop_character_set, + + DBOP_drop_collation, + + DBOP_drop_domain, + + DBOP_drop_index, + + DBOP_drop_procedure, + + DBOP_drop_schema, + + DBOP_drop_table, + + DBOP_drop_translation, + + DBOP_drop_trigger, + + DBOP_drop_view, + + DBOP_foreign_key, + + DBOP_grant_privileges, + + DBOP_index_list_anchor, + + DBOP_index_list_element, + + DBOP_primary_key, + + DBOP_property_list_anchor, + + DBOP_property_list_element, + + DBOP_referenced_table, + + DBOP_rename_object, + + DBOP_revoke_privileges, + + DBOP_schema_authorization, + +// PPP -- nice duplicate here +// DBOP_schema_name, + + DBOP_unique_key, +}; + +typedef LONG DBDATATYPELIST; + +enum DBDATATYPELISTENUM { + DBDATATYPE_CHARACTER = 1, + DBDATATYPE_NUMERIC = 2, + DBDATATYPE_DECIMAL = 3, + DBDATATYPE_INTEGER = 4, + DBDATATYPE_SMALLINT = 5, + DBDATATYPE_FLOAT = 6, + DBDATATYPE_REAL = 7, + DBDATATYPE_DOUBLE = 8, + DBDATATYPE_DATE = 9, + DBDATATYPE_TIME = 10, + DBDATATYPE_TIMESTAMP = 11, + DBDATATYPE_VARCHAR = 12, + DBDATATYPE_BOOLEAN = 34, + DBDATATYPE_ENUMERATED = 35, + DBDATATYPE_LONGVARCHAR = -1, + DBDATATYPE_BINARY = -2, + DBDATATYPE_VARBINARY = -3, + DBDATATYPE_LONGVARBINARY = -4, + DBDATATYPE_BIGINT = -5, + DBDATATYPE_TINYINT = -6, + DBDATATYPE_BIT = -7, + DBDATATYPE_INTERVAL_YEAR = -80, + DBDATATYPE_INTERVAL_MONTH = -81, + DBDATATYPE_INTERVAL_YEAR_TO_MONTH = -82, + DBDATATYPE_INTERVAL_DAY = -83, + DBDATATYPE_INTERVAL_HOUR = -84, + DBDATATYPE_INTERVAL_MINUTE = -85, + DBDATATYPE_INTERVAL_SECOND = -86, + DBDATATYPE_INTERVAL_DAY_TO_HOUR = -87, + DBDATATYPE_INTERVAL_DAY_TO_MINUTE = -88, + DBDATATYPE_INTERVAL_DAY_TO_SECOND = -89, + DBDATATYPE_INTERVAL_HOUR_TO_MINUTE = -90, + DBDATATYPE_INTERVAL_HOUR_TO_SECOND = -91, + DBDATATYPE_INTERVAL_MINUTE_TO_SECOND = -92, + DBDATATYPE_UNICODE = -95, +}; + +typedef DWORD DBDATATYPEKIND; + +enum DBDATATYPEKINDENUM { + DBDATATYPEKIND_BASETYPE, + DBDATATYPEKIND_DOMAIN +}; + +typedef struct tagDBDATATYPE { + DBDATATYPEKIND eKind; + [switch_type(DBDATATYPEKIND),switch_is(eKind)] union { + [case(DBDATATYPEKIND_BASETYPE)] struct { + DBDATATYPELIST edbdt; + ULONG cbMaxLength; + ULONG cbPrecision; + ULONG cbScale; + } DBBASETYPE; + [case(DBDATATYPEKIND_DOMAIN)] LPWSTR pwszDomainName; + } +#if(defined(NONAMELESSUNION)) + u +#endif + ; +} DBDATATYPE; + + // + // DBPARAMS structure and related defintions + // + +typedef struct tagDBPARAMS { + ULONG cParamSets; + HACCESSOR hAccessor; + void * pData; + ULONG cbParamSetSize; +} DBPARAMS; + +typedef DWORD DBPARAMFLAGS; + +enum DBPARAMFLAGSENUM { + DBPARAMFLAGS_ISINPUT = 0x001, + DBPARAMFLAGS_ISOUTPUT = 0x002, + DBPARAMFLAGS_ISSIGNED = 0x010, + DBPARAMFLAGS_ISNULLABLE = 0x040, + DBPARAMFLAGS_ISOLEBLOB = 0x080 +}; + +typedef struct tagDBPARAMINFO { + ULONG iNumber; + LPWSTR pwszName; + DBTYPE dwType; + ITypeInfo * pTypeInfo; + ULONG cbMaxLength; + ULONG cPrecision; + LONG cScale; + DBPARAMFLAGS dwFlags; +} DBPARAMINFO; + + // + // DBCOLUMN_ISSEARCHABLE flags + // + +cpp_quote("#define DB_UNSEARCHABLE 0x01") +cpp_quote("#define DB_LIKE_ONLY 0x02") +cpp_quote("#define DB_ALL_EXCEPT_LIKE 0x03") +cpp_quote("#define DB_SEARCHABLE 0x04") + + // + // DBPROPERTY struct and related definitions + // + +typedef DWORD DBPROPERTYOPTIONS; + +enum DBPROPERTYOPTIONSENUM { + DBPROPERTYOPTIONS_SETIFCHEAP = 0x0001, + DBPROPERTYOPTIONS_NOTSUPPORTED = 0x0200, + DBPROPERTYOPTIONS_DEFAULT = 0x0400, +}; + +typedef struct tagDBPROPERTYSUPPORT { + GUID guidProperty; + VARIANT vValue; + DBID colid; + DBPROPERTYOPTIONS dwOptions; +} DBPROPERTYSUPPORT; + +typedef struct tagDBPROPERTY { + GUID guid; + VARIANT vValue; +} DBPROPERTY; + +} diff --git a/private/types2/oledb/dbscmd.idl b/private/types2/oledb/dbscmd.idl new file mode 100644 index 000000000..7f34381b8 --- /dev/null +++ b/private/types2/oledb/dbscmd.idl @@ -0,0 +1,35 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbscmd.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a50-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBSchemaCommand : IUnknown { + + HRESULT GetCommand( + [in] IUnknown * pUnkOuter, + [in] REFGUID rguidSchema, + [out] ICommand ** ppCommand + ); + + HRESULT GetSchemas( + [out] ULONG * pcSchemas, + [out] GUID ** prgSchemas + ); + +} diff --git a/private/types2/oledb/dbsrst.idl b/private/types2/oledb/dbsrst.idl new file mode 100644 index 000000000..7e103a8b8 --- /dev/null +++ b/private/types2/oledb/dbsrst.idl @@ -0,0 +1,70 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: dbsrst.idl +// +// Contents: OLE DB interface definition +// +// History: 03 Aug 1995 PeterBu Created from M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4c-2a1c-11ce-ade5-00aa0044773d) + + +interface IDBSchemaRowset : IUnknown { + +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_ASSERTIONS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CATALOGS 1") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLLATIONS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMNS 4") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE_CONSTRAINTS 7") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAIN_COLUMN_USAGE 4") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAINS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAIN_CONSTRAINTS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_INDEXES 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS 1") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECTS 1") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES 6") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES 5") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES 6") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROCEDURES 4") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SCHEMATA 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES 0") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_STATISTICS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SYNONYMS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLES 4") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRIGGERS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TYPES 1") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEWS 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE 3") +cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE 3") + + + HRESULT GetRowset( + [in] IUnknown * pUnkOuter, + [in] REFGUID rguidSchema, + [in] ULONG cRestrictions, + [in, size_is(cRestrictions)] LPWSTR rgpwszRestrictions[], + [in] REFIID riid, + [out] IUnknown ** ppRowset + ); + + HRESULT GetSchemas( + [out] ULONG * pcSchemas, + [out] GUID ** prgSchemas + ); + +} diff --git a/private/types2/oledb/errlup.idl b/private/types2/oledb/errlup.idl new file mode 100644 index 000000000..636259fc6 --- /dev/null +++ b/private/types2/oledb/errlup.idl @@ -0,0 +1,39 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: errlup.idl +// +// Contents: OLE DB interface definition +// +// History: 29 Oct 1995 PeterBu Created from M6 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5b-2a1c-11ce-ade5-00aa0044773d) + + +interface IErrorLookup : IUnknown { + + HRESULT GetErrorDescription( + [in] HRESULT hrError, + [in] DWORD dwMinor, + [in] DISPPARAMS * pdispparams, + [in] LCID lcid, + [out] LPWSTR * ppwszSource, + [out] LPWSTR * ppwszDescription + ); + + HRESULT GetHelpInfo( + [in] HRESULT hrError, + [in] DWORD dwMinor, + [in] LCID lcid, + [out] LPWSTR * ppwszHelpFile, + [out] DWORD * pdwHelpContext + ); + +} diff --git a/private/types2/oledb/errrec.idl b/private/types2/oledb/errrec.idl new file mode 100644 index 000000000..3ebf223b3 --- /dev/null +++ b/private/types2/oledb/errrec.idl @@ -0,0 +1,62 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: errrec.idl +// +// Contents: OLE DB interface definition +// +// History: 29 Oct 1995 PeterBu Created from M6 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5c-2a1c-11ce-ade5-00aa0044773d) + + +interface IErrorRecords : IUnknown { + +typedef struct tagERRORINFO { + HRESULT hrError; + DWORD dwMinor; + CLSID clsid; + IID iid; + DISPID dispid; +} ERRORINFO; + + HRESULT AddErrorRecord( + [in] ERRORINFO * pErrorInfo, + [in] DISPPARAMS * pdispparams, + [in] IUnknown * punkCustomError + ); + + HRESULT GetBasicErrorInfo( + [in] ULONG ulRecordNum, + [out] ERRORINFO * pErrorInfo + ); + + HRESULT GetCustomErrorObject( + [in] ULONG ulRecordNum, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppObject + ); + + HRESULT GetErrorInfo( + [in] ULONG ulRecordNum, + [in] LCID lcid, + [out] IErrorInfo ** ppErrorInfo + ); + + HRESULT GetErrorParameters( + [in] ULONG ulRecordNum, + [out] DISPPARAMS * pdispparams + ); + + HRESULT GetRecordCount( + [out] ULONG * pcRecords + ); + +} diff --git a/private/types2/oledb/inddef.idl b/private/types2/oledb/inddef.idl new file mode 100644 index 000000000..9a78509e4 --- /dev/null +++ b/private/types2/oledb/inddef.idl @@ -0,0 +1,48 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: inddef.idl +// +// Contents: OLE DB interface definition +// +// History: 29 Oct 1995 PeterBu Created from M6 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a57-2a1c-11ce-ade5-00aa0044773d) + + +interface IIndexDefinition : IUnknown { + +typedef DWORD DBINDEX_COL_ORDER; + +enum DBINDEX_COL_ORDERENUM { + DBINDEX_COL_ORDER_ASC, + DBINDEX_COL_ORDER_DESC, +}; + +typedef struct tagDBINDEXCOLUMNDESC { + DBID * pColumnID; + DBINDEX_COL_ORDER eIndexColOrder; +} DBINDEXCOLUMNDESC; + + HRESULT CreateIndex( + [in] DBID * pTableID, + [in] DBID * pIndexID, + [in] ULONG cIndexColumnDescs, + [in, size_is(cIndexColumnDescs)] DBINDEXCOLUMNDESC rgIndexColumnDescs[], + [in] ULONG cProperties, + [in, size_is(cProperties)] DBPROPERTY rgProperties[], + [out] DBID ** ppIndexID + ); + + HRESULT DropIndex( + [in] DBID * pIndexID + ); + +} diff --git a/private/types2/oledb/makefile b/private/types2/oledb/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/oledb/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/oledb/oledb.idl b/private/types2/oledb/oledb.idl new file mode 100644 index 000000000..11ab5fa62 --- /dev/null +++ b/private/types2/oledb/oledb.idl @@ -0,0 +1,91 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1994 - 1995. +// +// File: oledb.idl +// +// Contents: Top level "container" for all OLE-DB related interfaces. +// +// History: 26 Jul 94 Alanw Created +// 05 Jan 95 PeterBu Updated to phase III spec +// 12 Jun 95 PeterBu Updated to M4 spec +// 03 Aug 95 PeterBu Updated to M5 spec +// +//---------------------------------------------------------------------------- + +#ifdef IMPORT_IDL_DEPENDENTS +// Oleaut.h is the appropriate file to include for VARIANT and base types +// declarations. Unfortunately, not everyone yet has access to it, so we +// will indirect the reference to it to so we can control the emitted include. +//import "oleaut.idl"; // BUGBUG - reenable someday +import "oledbtyp.idl"; +#endif // IMPORT_IDL_DEPENDENTS + +#include "dbs.idl" + +#include "access.idl" // IAccessor : IUnknown + +#include "rstbas.idl" // IRowset : IUnknown +#include "rstinf.idl" // IRowsetInfo : IUnknown +#include "rstloc.idl" // IRowsetLocate : IRowset +#include "rstres.idl" // IRowsetResynch : IRowset +#include "rstscr.idl" // IRowsetScroll : IRowsetLocate +#include "rstxsc.idl" // IRowsetExactScroll : IRowsetScroll +#include "rstchg.idl" // IRowsetChange : IUnknown +#include "rstupd.idl" // IRowsetUpdate : IRowsetChange +#include "rstnxr.idl" // IRowsetNextRowset : IUnknown +#include "rstdel.idl" // IRowsetDelete : IUnknown +#include "rstdbk.idl" // IRowsetDeleteBookmarks : IRowsetDelete +#include "rstidn.idl" // IRowsetIdentity : IUnknown +#include "rstlkr.idl" // IRowsetLockRows : IUnknown +#include "rstnwr.idl" // IRowsetNewRow : IUnknown +#include "rstnra.idl" // IRowsetNewRowAfter : IRowsetNewRow +#include "rstwpr.idl" // IRowsetWithParamters : IUnknown +#include "rstfnd.idl" // IRowsetFind : IUnknown +#include "rstasn.idl" // IRowsetAsynch : IUnknown +#include "rstkys.idl" // IRowsetKeys : IUnknown +#include "rstnot.idl" // IRowsetNotify : IUnknown +#include "rstind.idl" // IRowsetIndex : IUnknown +#include "rstwta.idl" // IRowsetWatchAll : IUnknown +#include "rstwtn.idl" // IRowsetWatchNotify : IUnknown +#include "rstwtr.idl" // IRowsetWatchRegion : IUnknown +#include "rstcpr.idl" // IRowsetCopyRows : IUnknown + +#include "readdt.idl" // IReadData : IUnknown + +// BUGBUG: temporary, until transactions are in place +#define ITransaction IUnknown + +#include "cmdbas.idl" // ICommand : IUnknown +#include "cmdcst.idl" // ICommandCost : IUnknown +#include "cmdpre.idl" // ICommandPrepare : IUnknown +#include "cmdprp.idl" // ICommandProperties : IUnknown +#include "cmdtxt.idl" // ICommandText : IUnknown +#include "cmdtre.idl" // ICommandTree : ICommand +#include "cmdval.idl" // ICommandValidate : IUnknown +#include "cmdwpr.idl" // ICommandWithParameters : IUnknown + +#include "qrybas.idl" // IQuery : ICommandTree + +#include "colrst.idl" // IColumnsRowset : IUnknown +#include "colinf.idl" // IColumnsInfo : IUnknown + +#include "dbccmd.idl" // IDBCreateCommand : IUnknown +#include "dbesrc.idl" // IDBEnumerateSources : IUnknown +#include "dbinfo.idl" // IDBInfo : IUnknown +#include "dbinit.idl" // IDBInitialize : IUnknown + +#include "inddef.idl" // IIndexDefinition : IUnknown +#include "tabdef.idl" // ITableDefinition : IUnknown + +#include "opnrst.idl" // IOpenRowset : IUnknown + +#include "dbscmd.idl" // IDBSchemaCommand : IUnknown +#include "dbsrst.idl" // IDBSchemaRowset : IUnknown + +#include "prvmon.idl" // IProvideMoniker : IUnknown + +#include "errrec.idl" // IErrorRecords : IUnknown +#include "errlup.idl" // IErrorLookup : IUnknown + diff --git a/private/types2/oledb/oledbtyp.idl b/private/types2/oledb/oledbtyp.idl new file mode 100644 index 000000000..48daa127e --- /dev/null +++ b/private/types2/oledb/oledbtyp.idl @@ -0,0 +1,38 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1994 - 1994. +// +// File: oledbtyp.idl +// +// Contents: Necessary type definitions for OLD-DB interfaces +// +// +// Notes: This file works around the fact that not everyone yet +// has oaidl.h. +// +// This file is 'import'ed in oledb.idl, which turns into a +// #include of oledbtype.h. By the import in the MIDL pass, +// and the include here, we get all the types we need defined +// to satisfy MIDL, and oledbtyp.h (which is a checked in +// file in \nt\public\sdk\inc[\cairo] ) can have whatever +// we need to conditionally include the right type definitions +// for whatever platform we're running on. +// +// History: 25 Aug 94 Alanw Created +// +//+--------------------------------------------------------------------------- + +#ifdef IMPORT_IDL_DEPENDENTS + +#include "oaidl.idl" + +#endif IMPORT_IDL_DEPENDENTS + +// oaidl.idl seems to be missing definitions for some things: + +typedef struct tagPARAMDATA { + OLECHAR * szName; + VARTYPE vt; +} PARAMDATA, * LPPARAMDATA; + diff --git a/private/types2/oledb/opnrst.idl b/private/types2/oledb/opnrst.idl new file mode 100644 index 000000000..52832e0d7 --- /dev/null +++ b/private/types2/oledb/opnrst.idl @@ -0,0 +1,32 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: opnrst.idl +// +// Contents: OLE DB interface definition +// +// History: 29 Oct 1995 PeterBu Created from M6 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a58-2a1c-11ce-ade5-00aa0044773d) + + +interface IOpenRowset : IUnknown { + + HRESULT OpenRowset( + [in] IUnknown * pUnkOuter, + [in] DBID * pTableID, + [in] ULONG cProperties, + [in, out, size_is(cProperties)] const DBPROPERTYSUPPORT * prgProperties[], + [in] REFIID riid, + [in, size_is(cProperties)] DBPROPERTYERROR rgPropertyErrors[], + [out, iid_is(riid)] IUnknown ** ppRowset + ); + +} diff --git a/private/types2/oledb/prvmon.idl b/private/types2/oledb/prvmon.idl new file mode 100644 index 000000000..e8e05f813 --- /dev/null +++ b/private/types2/oledb/prvmon.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: prvmon.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4d-2a1c-11ce-ade5-00aa0044773d) + + +interface IProvideMoniker : IUnknown { + + HRESULT GetMoniker( + [out] IMoniker ** ppvIMoniker + ); + +} diff --git a/private/types2/oledb/qrybas.idl b/private/types2/oledb/qrybas.idl new file mode 100644 index 000000000..8346bc6de --- /dev/null +++ b/private/types2/oledb/qrybas.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: qrybas.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a51-2a1c-11ce-ade5-00aa0044773d) + + +interface IQuery : ICommandTree { + + HRESULT AddPostProcessing( + [in] DBCOMMANDTREE ** ppRoot, + [in] BOOL fCopy + ); + + HRESULT GetCardinalityEstimate( + [out] ULONG * pulCardinality + ); + +} diff --git a/private/types2/oledb/readdt.idl b/private/types2/oledb/readdt.idl new file mode 100644 index 000000000..088eecadd --- /dev/null +++ b/private/types2/oledb/readdt.idl @@ -0,0 +1,41 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: readdt.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a47-2a1c-11ce-ade5-00aa0044773d) + + +interface IReadData : IUnknown { + + HRESULT ReadData( + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] const BYTE * pBookmark, + [in] LONG lRowsOffset, + [in] HACCESSOR hAccessor, + [in] ULONG cRows, + [out] ULONG * pcRowsObtained, + [in, out] BYTE ** ppFixedData, + [in, out] ULONG * pcbVariableTotal, + [in, out] BYTE ** ppVariableData + ); + + HRESULT ReleaseChapter( + [in] HCHAPTER hChapter + ); + +} diff --git a/private/types2/oledb/rstasn.idl b/private/types2/oledb/rstasn.idl new file mode 100644 index 000000000..e5597f718 --- /dev/null +++ b/private/types2/oledb/rstasn.idl @@ -0,0 +1,34 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstast.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Mar 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a0f-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetAsynch : IUnknown { + + HRESULT RatioFinished( + [out] ULONG * pulDenominator, + [out] ULONG * pulNumerator, + [out] ULONG * pcRows, + [out] BOOL * pfNewRows + ); + + HRESULT Stop( + ); + +} diff --git a/private/types2/oledb/rstbas.idl b/private/types2/oledb/rstbas.idl new file mode 100644 index 000000000..7a60be1ba --- /dev/null +++ b/private/types2/oledb/rstbas.idl @@ -0,0 +1,61 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstbas.idl +// +// Contents: OLE DB interface definition +// +// History: 28 Mar 1994 AlanW Created from spec +// 21 Apr 1994 PeterBu Updated to latest spec +// 20 Dec 1994 PeterBu Updated to phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a52-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowset : IUnknown { + + HRESULT AddRefRows( + [in] ULONG cRows, + [in, size_is(cRows)] const HROW rghRows[], + [out] ULONG * pcRefCounted, + [in, out, size_is(cRows)] ULONG rgRefCounts[] + ); + + HRESULT GetData( + [in] HROW hRow, + [in] HACCESSOR hAccessor, + [out] void * pData + ); + + HRESULT GetNextRows( + [in] HCHAPTER hChapter, + [in] LONG cRowsToSkip, + [in] LONG cRows, + [out] ULONG * pcRowsObtained, + [in, out, size_is(cRows)] HROW ** prghRows + ); + + HRESULT ReleaseChapter( + [in] HCHAPTER hChapter + ); + + HRESULT ReleaseRows( + [in] ULONG cRows, + [in, size_is(cRows)] const HROW rghRows[], + [out] ULONG * pcReleased, + [in, out] ULONG rgRefCounts[] + ); + + HRESULT RestartPosition( + [in] HCHAPTER hChapter + ); + +} diff --git a/private/types2/oledb/rstchg.idl b/private/types2/oledb/rstchg.idl new file mode 100644 index 000000000..e437d68bd --- /dev/null +++ b/private/types2/oledb/rstchg.idl @@ -0,0 +1,30 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstchg.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a05-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetChange : IUnknown { + + HRESULT SetData( + [in] HROW hRow, + [in] HACCESSOR hAccessor, + [in] const void * pData + ); + +} diff --git a/private/types2/oledb/rstcpr.idl b/private/types2/oledb/rstcpr.idl new file mode 100644 index 000000000..23f055034 --- /dev/null +++ b/private/types2/oledb/rstcpr.idl @@ -0,0 +1,53 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstcpr.idl +// +// Contents: OLE DB interface definition +// +// History: 29 Oct 1995 PeterBu Created from M6 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a59-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetCopyRows : IUnknown { + +typedef ULONG HSOURCE; + + + HRESULT CloseSource( + [in] HSOURCE hSourceID + ); + + HRESULT CopyByHROWS( + [in] HSOURCE hSourceID, + [in] HCHAPTER hChapter, + [in] LONG cRows, + [in, size_is(cRows)] HROW rghRows[], + [in] ULONG bFlags + ); + + HRESULT CopyRows( + [in] HSOURCE hSourceID, + [in] HCHAPTER hChapter, + [in] LONG cRows, + [in] ULONG bFlags, + [out] ULONG * pcRowsCopied + ); + + HRESULT DefineSource( + [in] const IRowset * pRowsetSource, + [in] const ULONG cColIds, + [in, size_is(cColIds)] const LONG rgSourceColumns[], + [in, size_is(cColIds)] const LONG rgTargetColumns[], + [out] HSOURCE * phSourceID + ); + +} diff --git a/private/types2/oledb/rstdbk.idl b/private/types2/oledb/rstdbk.idl new file mode 100644 index 000000000..cdf7e1e60 --- /dev/null +++ b/private/types2/oledb/rstdbk.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstdbk.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a3e-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetDeleteBookmarks : IRowsetDelete { + + HRESULT DeleteRowsByBookmark( + [in] HCHAPTER hChapter, + [in] ULONG cRows, + [in, size_is(cRows)] ULONG rgcbBookmarks[], + [in, size_is(cRows)] const BYTE * rgpBookmarks[], + [out] ULONG * pcErrors, + [out] DBINDEXEDERROR ** prgErrors + ); + +} diff --git a/private/types2/oledb/rstdel.idl b/private/types2/oledb/rstdel.idl new file mode 100644 index 000000000..b0a0e5039 --- /dev/null +++ b/private/types2/oledb/rstdel.idl @@ -0,0 +1,30 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstdel.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a08-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetDelete : IUnknown { + + HRESULT DeleteRows( + [in] ULONG cRows, + [in, size_is(cRows)] const HROW rghRows[], + [out] ULONG * pcErrors, + [out] DBERRORINFO ** prgErrors + ); + +} diff --git a/private/types2/oledb/rstfnd.idl b/private/types2/oledb/rstfnd.idl new file mode 100644 index 000000000..5a94098b9 --- /dev/null +++ b/private/types2/oledb/rstfnd.idl @@ -0,0 +1,52 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstfnd.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a0d-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetFind : IUnknown { + +typedef DWORD DBCOMPAREOPS; + +enum DBCOMPAREOPSENUM { + DBCOMPAREOPS_LT, + DBCOMPAREOPS_LE, + DBCOMPAREOPS_EQ, + DBCOMPAREOPS_GE, + DBCOMPAREOPS_GT, + DBCOMPAREOPS_PARTIALEQ, + DBCOMPAREOPS_NE, + DBCOMPAREOPS_INCLUDENULLS = 0x1000 +}; + + HRESULT GetRowsByValues( + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] const BYTE * pBookmark, + [in] LONG lRowsOffset, + [in] ULONG cValues, + [in, size_is(cValues)] ULONG rgColumns[], + [in, size_is(cValues)] DBTYPE rgValueTypes[], + [in, size_is(cValues)] const BYTE * rgValues[], + [in, size_is(cValues)] DBCOMPAREOPS rgCompareOps[], + [in] LONG cRows, + [out] ULONG * pcRowsObtained, + [in, out, size_is(cRows)] HROW ** prghRows + ); + +} diff --git a/private/types2/oledb/rstidn.idl b/private/types2/oledb/rstidn.idl new file mode 100644 index 000000000..0041e69cc --- /dev/null +++ b/private/types2/oledb/rstidn.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstidn.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a09-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetIdentity : IUnknown { + + HRESULT IsSameRow( + [in] HROW hThisRow, + [in] HROW hThatRow + ); + +} diff --git a/private/types2/oledb/rstind.idl b/private/types2/oledb/rstind.idl new file mode 100644 index 000000000..cbe9f7b8f --- /dev/null +++ b/private/types2/oledb/rstind.idl @@ -0,0 +1,66 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstind.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a3f-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetIndex : IUnknown { + +typedef DWORD DBSEEK; + +enum DBSEEKENUM { + DBSEEK_FIRSTEQ = 0x01, + DBSEEK_LASTEQ = 0x02, + DBSEEK_GE = 0x04, + DBSEEK_GT = 0x08, + DBSEEK_LE = 0x10, + DBSEEK_LT = 0x20 +}; + +typedef DWORD DBRANGE; + +enum DBRANGEENUM { + DBRANGE_INCLUSIVESTART = 0x01, + DBRANGE_INCLUSIVEEND = 0x02, + DBRANGE_EXCLUSIVESTART = 0x04, + DBRANGE_EXCLUSIVEEND = 0x08, + DBRANGE_EXCLUDENULLS = 0x10, + DBRANGE_PREFIX = 0x20, + DBRANGE_MATCH = 0x40 +}; + + HRESULT GetIndexInfo( + [out] ULONG * pcKeyColumns, + [out] ULONG * pcIndexProperties, + [out] DBPROPERTY ** prgIndexProperties + ); + + HRESULT Seek( + [in] ULONG cvar, + [in, size_is(cvar)] VARIANT rgvar[], + [in] DWORD dwSeekOptions + ); + + HRESULT SetRange( + [in] ULONG cvarStart, + [in, size_is(cvarStart)] VARIANT rgvarStart[], + [in] ULONG cvarEnd, + [in, size_is(cvarEnd)] VARIANT rgvarEnd[], + [in] DWORD dwRangeOptions + ); + +} diff --git a/private/types2/oledb/rstinf.idl b/private/types2/oledb/rstinf.idl new file mode 100644 index 000000000..b3469f644 --- /dev/null +++ b/private/types2/oledb/rstinf.idl @@ -0,0 +1,42 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstinf.idl +// +// Contents: OLE DB interface definition +// +// History: 28 Mar 1994 AlanW Created from spec +// 21 Apr 1994 PeterBu Updated to latest spec +// 20 Dec 1994 PeterBu Updated to phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a55-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetInfo : IUnknown { + + HRESULT GetProperties( + [in] const ULONG cProperties, + [in, size_is(cProperties)] const GUID rgProperties[], + [out] ULONG * pcProperties, + [out] DBPROPERTYSUPPORT ** prgProperties + ); + + HRESULT GetReferencedRowset( + [in] ULONG iColumn, + [out] IUnknown ** ppReferencedRowset + ); + + HRESULT GetSpecification( + [in] REFIID riid, + [out] IUnknown ** ppSpecification + ); + +} diff --git a/private/types2/oledb/rstkys.idl b/private/types2/oledb/rstkys.idl new file mode 100644 index 000000000..e9778d046 --- /dev/null +++ b/private/types2/oledb/rstkys.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstkys.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Mar 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a12-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetKeys : IUnknown { + + HRESULT ListKeys( + [out] ULONG * pcColumns, + [out] ULONG ** prgColumns + ); + +} diff --git a/private/types2/oledb/rstlkr.idl b/private/types2/oledb/rstlkr.idl new file mode 100644 index 000000000..71f209525 --- /dev/null +++ b/private/types2/oledb/rstlkr.idl @@ -0,0 +1,43 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstlkr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a0a-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetLockRows : IUnknown { + +typedef DWORD DBLOCKMODE; + +enum DBLOCKMODEENUM { + DBLOCKMODE_NONE, + DBLOCKMODE_READ, + DBLOCKMODE_INTENT, + DBLOCKMODE_WRITE +}; + + HRESULT LockRowsByBookmark( + [in] DBLOCKMODE eLockMode, + [in] HCHAPTER hChapter, + [in] ULONG cRows, + [in, size_is(cRows)] ULONG rgcbBookmarks[], + [in, size_is(cRows)] const BYTE * rgBookmarks[], + [out] ULONG * pcErrors, + [in, out, size_is(cRows)] DBINDEXEDERROR ** prgErrors + ); + +} diff --git a/private/types2/oledb/rstloc.idl b/private/types2/oledb/rstloc.idl new file mode 100644 index 000000000..89e318e3f --- /dev/null +++ b/private/types2/oledb/rstloc.idl @@ -0,0 +1,89 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstloc.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a49-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetLocate : IRowset { + + // + // DBCOMPARE -- specifies the results of a bookmark comparison + // + +typedef DWORD DBCOMPARE; + +enum DBCOMPAREENUM { + DBCOMPARE_LT, + DBCOMPARE_EQ, + DBCOMPARE_GT, + DBCOMPARE_NE, + DBCOMPARE_NOTCOMPARABLE +}; + + // + // IndexedError -- identifies problems with bookmarks + // + +typedef struct tagDBINDEXEDERROR { + ULONG iBookmark; + HRESULT hResult; +} DBINDEXEDERROR; + + HRESULT Compare( + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark1, + [in, size_is(cbBookmark1)] const BYTE * pBookmark1, + [in] ULONG cbBookmark2, + [in, size_is(cbBookmark2)] const BYTE * pBookmark2, + [out] DBCOMPARE * pdwComparison + ); + + HRESULT GetRowsAt( + [in] HWATCHREGION hRegion, + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] const BYTE * pBookmark, + [in] LONG lRowsOffset, + [in] LONG cRows, + [out] ULONG * pcRowsObtained, + [in, out, size_is(cRows)] HROW ** prghRows + ); + + HRESULT GetRowsByBookmark( + [in] HCHAPTER hChapter, + [in] ULONG cRows, + [in, size_is(cRows)] ULONG rgcbBookmarks[], + [in, size_is(cRows)] const BYTE * rgpBookmarks[], + [out] ULONG * pcRowsObtained, + [in, out, size_is(cRows)] HROW ** prghRows, + [in] BOOL fReturnErrors, + [out] ULONG * pcErrors, + [in, out, size_is(cRows)] DBINDEXEDERROR ** prgErrors + ); + + HRESULT Hash( + [in] HCHAPTER hChapter, + [in] ULONG cBookmarks, + [in, size_is(cBookmarks)] ULONG rgcbBookmarks[], + [in, size_is(cBookmarks)] const BYTE * rgpBookmarks[], + [in, out, size_is(cBookmarks)] DWORD rgHashedValues[], + [out] ULONG * pcErrors, + [in, out, size_is(cBookmarks)] DBINDEXEDERROR ** prgErrors + ); + +} diff --git a/private/types2/oledb/rstnot.idl b/private/types2/oledb/rstnot.idl new file mode 100644 index 000000000..914399ee3 --- /dev/null +++ b/private/types2/oledb/rstnot.idl @@ -0,0 +1,86 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstnot.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Mar 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a13-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetNotify : IUnknown { + +typedef DWORD DBEVENTPHASE; + +enum DBEVENTPHASEENUM { + DBEVENTPHASE_OKTODO, + DBEVENTPHASE_ABOUTTODO, + DBEVENTPHASE_SYNCHAFTER, + DBEVENTPHASE_FAILEDTODO, + DBEVENTPHASE_DIDEVENT +}; + +typedef DWORD DBREASON; + +enum DBREASONENUM { + DBREASON_ROWSET_RELEASE, + DBREASON_ROWSET_ASYNCHCOMPLETE, + DBREASON_CHAPTER_ACTIVATE, + DBREASON_CHAPTER_RELEASE, + DBREASON_COLUMN_SET, + DBREASON_COLUMN_RECALCULATED, + DBREASON_ROW_ACTIVATE, + DBREASON_ROW_RELEASE, + DBREASON_ROW_DELETE, + DBREASON_ROW_FIRSTCHANGE, + DBREASON_ROW_INSERT, + DBREASON_ROW_LOCK, + DBREASON_ROW_RESYNCH, + DBREASON_ROW_UNDOCHANGE, + DBREASON_ROW_UNDOINSERT, + DBREASON_ROW_UNDODELETE, +}; + + HRESULT OnChapterChange( + [in] IUnknown * pRowset, + [in] HCHAPTER hChapter, + [in] DBREASON eReason + ); + + HRESULT OnFieldChange( + [in] IUnknown * pRowset, + [in] HROW hRow, + [in] HCHAPTER hChapter, + [in] ULONG iColumn, + [in] DBREASON eReason, + [in] DBEVENTPHASE ePhase, + [in] BOOL fCantDeny + ); + + HRESULT OnRowChange( + [in] IUnknown * pRowset, + [in] ULONG cRows, + [in, size_is(cRows)] const HROW rghRows[], + [in] HCHAPTER hChapter, + [in] DBREASON eReason, + [in] DBEVENTPHASE ePhase, + [in] BOOL fCantDeny + ); + + HRESULT OnRowsetChange( + [in] IUnknown * pRowset, + [in] DBREASON eReason + ); + +} diff --git a/private/types2/oledb/rstnra.idl b/private/types2/oledb/rstnra.idl new file mode 100644 index 000000000..d55cc220b --- /dev/null +++ b/private/types2/oledb/rstnra.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstnra.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a40-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetNewRowAfter : IRowsetNewRow { + + HRESULT SetNewDataAfter( + [in] HCHAPTER hChapter, + [in] ULONG cbbmPrevious, + [in, size_is(cbbmPrevious)] const BYTE * pbmPrevious, + [in] HACCESSOR hAccessor, + [in] const void * pData, + [out] HROW * phRow + ); + +} diff --git a/private/types2/oledb/rstnwr.idl b/private/types2/oledb/rstnwr.idl new file mode 100644 index 000000000..15536af38 --- /dev/null +++ b/private/types2/oledb/rstnwr.idl @@ -0,0 +1,31 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstnwr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a0b-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetNewRow : IUnknown { + + HRESULT SetNewData( + [in] HCHAPTER hChapter, + [in] HACCESSOR hAccessor, + [in] const void * pData, + [out] HROW * phRow + ); + +} diff --git a/private/types2/oledb/rstnxr.idl b/private/types2/oledb/rstnxr.idl new file mode 100644 index 000000000..0b8448929 --- /dev/null +++ b/private/types2/oledb/rstnxr.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstnxr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a07-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetNextRowset : IUnknown { + + HRESULT GetNextRowset( + [in] IUnknown * pUnkOuter, + [out] IUnknown ** ppNextRowset + ); + +} diff --git a/private/types2/oledb/rstres.idl b/private/types2/oledb/rstres.idl new file mode 100644 index 000000000..31b0f5f84 --- /dev/null +++ b/private/types2/oledb/rstres.idl @@ -0,0 +1,37 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstres.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a02-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetResynch : IRowset { + + HRESULT GetVisibleData( + [in] HROW hRow, + [in] HACCESSOR hAccessor, + [out] void * pData + ); + + HRESULT ResynchRows( + [in] ULONG cRows, + [in, size_is(cRows)] HROW rghRows[], + [out] ULONG * pcErrors, + [out] DBERRORINFO ** prgErrors + ); + +} diff --git a/private/types2/oledb/rstscr.idl b/private/types2/oledb/rstscr.idl new file mode 100644 index 000000000..d40e1b9a9 --- /dev/null +++ b/private/types2/oledb/rstscr.idl @@ -0,0 +1,42 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstscr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4a-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetScroll : IRowsetLocate { + + HRESULT GetApproximatePosition( + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] const BYTE * pBookmark, + [out] ULONG * pulPosition, + [out] ULONG * pcRows + ); + + HRESULT GetRowsAtRatio( + [in] HWATCHREGION hRegion, + [in] HCHAPTER hChapter, + [in] ULONG ulNumerator, + [in] ULONG ulDenominator, + [in] LONG cRows, + [out] ULONG * pcRowsObtained, + [in, out, size_is(cRows)] HROW ** prghRows + ); + +} diff --git a/private/types2/oledb/rstupd.idl b/private/types2/oledb/rstupd.idl new file mode 100644 index 000000000..a4bab9ba5 --- /dev/null +++ b/private/types2/oledb/rstupd.idl @@ -0,0 +1,59 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstupd.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a53-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetUpdate : IRowsetChange { + +typedef DWORD DBROWSTATUS; + +enum DBROWSTATUSENUM { + DBROWSTATUS_NEW, + DBROWSTATUS_CHANGED, + DBROWSTATUS_SOFTDELETED +}; + + HRESULT GetOriginalData( + [in] HROW hRow, + [in] HACCESSOR hAccessor, + [out] void * pData + ); + + HRESULT GetPendingRows( + [in] HCHAPTER hChapter, + [out] ULONG * pcPendingRows, + [out] HROW ** prgPendingRows, + [out] DBROWSTATUS ** prgPendingStatus + ); + + HRESULT UndoRows( + [in] ULONG cRows, + [in, size_is(cRows)] HROW rghRows[], + [out] ULONG * pcRowsUndone + ); + + HRESULT Update( + [in] HCHAPTER hChapter, + [out] ULONG * pcErrors, + [out] DBERRORINFO ** prgErrors, + [out] ULONG * pcUpdatedRows, + [out] HROW ** prgUpdatedRows + ); + +} diff --git a/private/types2/oledb/rstwpr.idl b/private/types2/oledb/rstwpr.idl new file mode 100644 index 000000000..def9ea00e --- /dev/null +++ b/private/types2/oledb/rstwpr.idl @@ -0,0 +1,37 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstwpr.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a0c-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetWithParameters : IUnknown { + + HRESULT DescribeParameters( + [out] ULONG * pcParams, + [out] DBPARAMINFO ** prgParamInfo, + [out] WCHAR ** ppNamesBuffer + ); + + HRESULT Requery( + [in] DBPARAMS * pParams, + [out] ULONG * pulErrorParam, + [out] HCHAPTER * hChapter, + [out] VARIANT ** ppvScalarResult + ); + +} diff --git a/private/types2/oledb/rstwta.idl b/private/types2/oledb/rstwta.idl new file mode 100644 index 000000000..8d1fe7bdc --- /dev/null +++ b/private/types2/oledb/rstwta.idl @@ -0,0 +1,25 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstwta.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a43-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetWatchAll : IUnknown { + + HRESULT Acknowledge( + ); + +} diff --git a/private/types2/oledb/rstwtn.idl b/private/types2/oledb/rstwtn.idl new file mode 100644 index 000000000..f492f13b4 --- /dev/null +++ b/private/types2/oledb/rstwtn.idl @@ -0,0 +1,39 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstwtn.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a44-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetWatchNotify : IUnknown { + + // + // DBWATCHNOTIFY and related definitions + // + +typedef DWORD DBWATCHNOTIFY; + +enum DBWATCHNOTIFYENUM { + DBWATCHNOTIFY_ROWSCHANGED = 1, + DBWATCHNOTIFY_QUERYDONE = 2, + DBWATCHNOTIFY_QUERYREEXECUTED = 3 +}; + + HRESULT OnChange( + [in] IRowset * pRowset, + [in] DBWATCHNOTIFY eChangeReason + ); + +} diff --git a/private/types2/oledb/rstwtr.idl b/private/types2/oledb/rstwtr.idl new file mode 100644 index 000000000..6958c9a3a --- /dev/null +++ b/private/types2/oledb/rstwtr.idl @@ -0,0 +1,93 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: rstwtr.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a45-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetWatchRegion : IRowsetWatchAll { + + // + // DBWATCHMODE and related definitions + // + +typedef DWORD DBWATCHMODE; + +enum DBWATCHMODEENUM { + DBWATCHMODE_ALL = 0x01, + DBWATCHMODE_EXTEND = 0x02, + DBWATCHMODE_MOVE = 0x04, + DBWATCHMODE_COUNT = 0x08 +}; + + // + // DBROWWATCHCHANGE and related definitions + // + +typedef DWORD DBROWCHANGEKIND; + +enum DBROWCHANGEKINDENUM { + DBROWCHANGEKIND_INSERT, + DBROWCHANGEKIND_DELETE, + DBROWCHANGEKIND_UPDATE, + DBROWCHANGEKIND_COUNT +}; + +typedef struct tagDBROWWATCHRANGE { + HWATCHREGION hRegion; + DBROWCHANGEKIND eChangeKind; + HROW hRow; + ULONG iRow; +} DBROWWATCHCHANGE; + + + HRESULT CreateWatchRegion( + [in] DBWATCHMODE dwWatchMode, + [out] HWATCHREGION * phRegion + ); + + HRESULT ChangeWatchMode( + [in] HWATCHREGION hRegion, + [in] DBWATCHMODE dwWatchMode + ); + + HRESULT DeleteWatchRegion( + [in] HWATCHREGION hRegion + ); + + HRESULT GetWatchRegionInfo( + [in] HWATCHREGION hRegion, + [out] DBWATCHMODE * pdwWatchMode, + [out] HCHAPTER * phChapter, + [out] ULONG * pcbBookmark, + [out] BYTE ** ppBookmark, + [out] LONG * pcRows + ); + + HRESULT Refresh( + [out] ULONG * pcChangesObtained, + [out] DBROWWATCHCHANGE ** prgChanges + ); + + HRESULT ShrinkWatchRegion( + [in] HWATCHREGION hRegion, + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] BYTE * pBookmark, + [in] LONG cRows + ); + +} diff --git a/private/types2/oledb/rstxsc.idl b/private/types2/oledb/rstxsc.idl new file mode 100644 index 000000000..c93d84d87 --- /dev/null +++ b/private/types2/oledb/rstxsc.idl @@ -0,0 +1,32 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: rstxsc.idl +// +// Contents: OLE DB interface definition +// +// History: 05 Jan 1995 PeterBu Created from phase III spec +// 12 Jun 1995 PeterBu Updated to M4 spec +// 03 Aug 1995 PeterBu Updated to M5 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a4b-2a1c-11ce-ade5-00aa0044773d) + + +interface IRowsetExactScroll : IRowsetScroll { + + HRESULT GetExactPosition( + [in] HCHAPTER hChapter, + [in] ULONG cbBookmark, + [in, size_is(cbBookmark)] const BYTE * pBookmark, + [out] ULONG * pulPosition, + [out] ULONG * pcRows + ); + +} diff --git a/private/types2/oledb/sources b/private/types2/oledb/sources new file mode 100644 index 000000000..67c1920ce --- /dev/null +++ b/private/types2/oledb/sources @@ -0,0 +1,19 @@ +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# +#---------------------------------------------------------------------------- + +!include ..\types2.inc + +SOURCES = oledb.idl \ + transact.idl + +# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once +SYNCHRONIZE_BLOCK=1 + diff --git a/private/types2/oledb/tabdef.idl b/private/types2/oledb/tabdef.idl new file mode 100644 index 000000000..3ce1e0640 --- /dev/null +++ b/private/types2/oledb/tabdef.idl @@ -0,0 +1,54 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: tabdef.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5a-2a1c-11ce-ade5-00aa0044773d) + + +interface ITableDefinition : IUnknown { + +typedef struct tagDBCOLUMNDESC { + DBID * pColumnID; + DBDATATYPE dwType; + BYTE precision; + BYTE scale; + BOOL fNullable; +} DBCOLUMNDESC; + + HRESULT CreateTable( + [in] IUnknown * pUnkOuter, + [in] DBID * pTableID, + [in] ULONG cColumnDescs, + [in, size_is(cColumnDescs)] DBCOLUMNDESC rgColumnDescs[], + [in] REFIID riid, + [out] DBID ** ppTableID, + [out, iid_is(riid)] IUnknown ** ppRowset + ); + + HRESULT DropTable( + [in] DBID * pTableID + ); + + HRESULT AddColumn( + [in] DBID * pTableID, + [in] DBCOLUMNDESC * pColumnDesc, + [out] DBID ** ppColumnID + ); + + HRESULT DropColumn( + [in] DBID * pTableID, + [in] DBID * pColumnID + ); +} diff --git a/private/types2/oledb/transact.idl b/private/types2/oledb/transact.idl new file mode 100644 index 000000000..c5eb3d67d --- /dev/null +++ b/private/types2/oledb/transact.idl @@ -0,0 +1,494 @@ +//.------------------------------------------------------------------------- +//. +//. Microsoft Windows +//. Copyright (C) Microsoft Corporation, 1995. +//. +//. File: transact.idl +//. +//. Contents: The basic transaction interfaces and types. +//. +// @doc +//.-------------------------------------------------------------------------- + +import "unknwn.idl"; + +// +//-------------------------------------------------------------------------- +// + +interface ITransaction; +interface ITransactionNested; +interface ITransactionDispenser; +interface ITransactionDispenserAdmin; +interface IEnumTransaction; +interface ITransactionAdmin; +interface ITransactionControl; +interface ITransactionAdjustEvents; +interface ITransactionVetoEvents; +interface ITransactionOutcomeEvents; +interface ITransactionCompletionEvents; + +//========================================================================== +// Transaction related types +//========================================================================== + +[local,pointer_default(unique)] +interface BasicTransactionTypes + { + + // @struct BOID | . + + typedef struct BOID { + BYTE rgb[16]; // @field . + } BOID; + + cpp_quote("#define BOID_NULL (*((BOID*)(&IID_NULL)))") + + // @type XACTUOW | Unit Of Work. + + typedef BOID XACTUOW; + + // @type ISOLEVEL | Data type for isolation level values. + + typedef LONG ISOLEVEL; + + // @enum ISOLATIONLEVEL | Constants that specifiy isolation level of a transaction. + + cpp_quote("#if defined(_WIN32)") // enums in Win16 are 16-bit, not 32-bit + typedef enum ISOLATIONLEVEL { + ISOLATIONLEVEL_UNSPECIFIED = 0xFFFFFFFF, // @emem . + ISOLATIONLEVEL_CHAOS = 0x00000010, // @emem . + ISOLATIONLEVEL_READUNCOMMITTED = 0x00000100, // @emem . + ISOLATIONLEVEL_BROWSE = 0x00000100, // @emem Synonym for _READUNCOMITTED + ISOLATIONLEVEL_CURSORSTABILITY = 0x00001000, // @emem . + ISOLATIONLEVEL_READCOMMITTED = 0x00001000, // @emem Synonym for _CURSORSTABILITY + ISOLATIONLEVEL_REPEATABLEREAD = 0x00010000, // @emem . + ISOLATIONLEVEL_SERIALIZABLE = 0x00100000, // @emem . + ISOLATIONLEVEL_ISOLATED = 0x00100000, // @emem Synonym for _SERIALIZABLE + } ISOLATIONLEVEL; + cpp_quote("#else") + cpp_quote("#define ISOLATIONLEVEL_UNSPECIFIED 0xFFFFFFFF") + cpp_quote("#define ISOLATIONLEVEL_CHAOS 0x00000010") + cpp_quote("#define ISOLATIONLEVEL_READUNCOMMITTED 0x00000100") + cpp_quote("#define ISOLATIONLEVEL_BROWSE 0x00000100") + cpp_quote("#define ISOLATIONLEVEL_CURSORSTABILITY 0x00001000") + cpp_quote("#define ISOLATIONLEVEL_READCOMMITTED 0x00001000") + cpp_quote("#define ISOLATIONLEVEL_REPEATABLEREAD 0x00010000") + cpp_quote("#define ISOLATIONLEVEL_SERIALIZABLE 0x00100000") + cpp_quote("#define ISOLATIONLEVEL_ISOLATED 0x00100000") + cpp_quote("#endif") + + // @struct XACTTRANSINFO | Transaction information structure + // used in <i ITransaction>. + + typedef struct XACTTRANSINFO { + XACTUOW uow; // @field The current unit of work + ISOLEVEL isoLevel; // @field The isolation level for the current UOW + ULONG isoFlags; // @field Values from ISOFLAG enumeration + DWORD grfTCSupported; // @field Flags indicating capabilities + DWORD grfRMSupported; // @field ... of this transaction wrt + DWORD grfTCSupportedRetaining; // @field ... parameters to Commit + DWORD grfRMSupportedRetaining; // @field ... + } XACTTRANSINFO; + + typedef struct XACTSTATS { + ULONG cOpen; // The number of currently extant transactions. + ULONG cCommitting; // The number of transactions which are proceding towards committing. + ULONG cCommitted; // The number of transactions that are have been committed. + ULONG cAborting; // The number of transactions which are in the process of aborting. + ULONG cAborted; // The number of transactions that are have been aborted. + ULONG cInDoubt; // The number of transactions which are presently in doubt. + ULONG cHeuristicDecision; // The number of transactions that have completed by heuristic decision. + FILETIME timeTransactionsUp; // The amount of time that this transaction service has been up. + } XACTSTATS; + + // @enum ISOFLAG | Used in <t XACTTRANSINFO> and <i ITransactionDispenser>. + + typedef enum ISOFLAG { + ISOFLAG_RETAIN_COMMIT_DC = 1, // @emem Use just one of ISOFLAG_RETAIN_COMMIT values + ISOFLAG_RETAIN_COMMIT = 2, // @emem . + ISOFLAG_RETAIN_COMMIT_NO = 3, // @emem . + ISOFLAG_RETAIN_ABORT_DC = 4, // @emem Use just one of ISOFLAG_RETAIN_ABORT values + ISOFLAG_RETAIN_ABORT = 8, // @emem . + ISOFLAG_RETAIN_ABORT_NO = 12, // @emem . + ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC, // @emem . + ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT, // @emem . + ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO, // @emem . + ISOFLAG_OPTIMISTIC = 16, // @emem . + } ISOFLAG; + + // @enum XACTTC | Used in <i ITransactionDispenser>.<nl> + // A bit field of 32 bits; be sure to mask before comparing. + + typedef enum XACTTC { + XACTTC_DONTAUTOABORT = 1, // @emem Don't automatically abort the transaction if a commit cannot complete. + XACTTC_TRYALLRESOURCES = 2, // @emem . + XACTTC_ASYNC = 4, + XACTTC_SYNC_PHASEONE = 8, + XACTTC_SYNC_PHASETWO = 16, + XACTTC_SYNC = 16, // nb alias for XACTTC_SYNC_PHASETWO + XACTTC_ASYNCPHASEONE = 128, // TEMPORARY FOR GAGAN DONT USE WILL GO AWAY + XACTTC_ASYNCPHASETWO = 256, // TEMPORARY FOR GAGAN DONT USE WILL GO AWAY + } XACTTC; + + // @enum XACTRM | Used in <i ITransactionDispenser>.<nl> + // A bit field of 32 bits; be sure to mask before comparing. + + typedef enum XACTRM { + XACTRM_OPTIMISTICLASTWINS = 1, // @emem . + XACTRM_NOREADONLYPREPARES = 2, // @emem . + } XACTRM; + + typedef enum XACTCONST { + XACTCONST_TIMEOUTINFINITE = 0, // @emem . + } XACTCONST; + + typedef enum XACTHEURISTIC { + XACTHEURISTIC_ABORT = 1, + XACTHEURISTIC_COMMIT = 2, + XACTHEURISTIC_DAMAGE = 3, + XACTHEURISTIC_DANGER = 4, + } XACTHEURISTIC; + + cpp_quote("#if defined(_WIN32)") // enums in Win16 are 16-bit, not 32-bit + typedef enum XACTSTAT { + XACTSTAT_NONE = 0x00000000, + XACTSTAT_OPENNORMAL = 0x00000001, + XACTSTAT_OPENREFUSED = 0x00000002, + XACTSTAT_PREPARING = 0x00000004, + XACTSTAT_PREPARED = 0x00000008, + XACTSTAT_PREPARERETAINING = 0x00000010, + XACTSTAT_PREPARERETAINED = 0x00000020, + XACTSTAT_COMMITTING = 0x00000040, + XACTSTAT_COMMITRETAINING = 0x00000080, + XACTSTAT_ABORTING = 0x00000100, + XACTSTAT_ABORTED = 0x00000200, + XACTSTAT_COMMITTED = 0x00000400, + XACTSTAT_HEURISTIC_ABORT = 0x00000800, + XACTSTAT_HEURISTIC_COMMIT = 0x00001000, + XACTSTAT_HEURISTIC_DAMAGE = 0x00002000, + XACTSTAT_HEURISTIC_DANGER = 0x00004000, + XACTSTAT_FORCED_ABORT = 0x00008000, + XACTSTAT_FORCED_COMMIT = 0x00010000, + XACTSTAT_INDOUBT = 0x00020000, + XACTSTAT_CLOSED = 0x00040000, + XACTSTAT_OPEN = 0x00000003, + XACTSTAT_NOTPREPARED = 0x0007FFC3, + XACTSTAT_ALL = 0x0007FFFF, + } XACTSTAT; + cpp_quote("#else") + cpp_quote("#define XACTSTAT_NONE 0x00000000") + cpp_quote("#define XACTSTAT_OPENNORMAL 0x00000001") + cpp_quote("#define XACTSTAT_OPENREFUSED 0x00000002") + cpp_quote("#define XACTSTAT_PREPARING 0x00000004") + cpp_quote("#define XACTSTAT_PREPARED 0x00000008") + cpp_quote("#define XACTSTAT_PREPARERETAINING 0x00000010") + cpp_quote("#define XACTSTAT_PREPARERETAINED 0x00000020") + cpp_quote("#define XACTSTAT_COMMITTING 0x00000040") + cpp_quote("#define XACTSTAT_COMMITRETAINING 0x00000080") + cpp_quote("#define XACTSTAT_ABORTING 0x00000100") + cpp_quote("#define XACTSTAT_ABORTED 0x00000200") + cpp_quote("#define XACTSTAT_COMMITTED 0x00000400") + cpp_quote("#define XACTSTAT_HEURISTIC_ABORT 0x00000800") + cpp_quote("#define XACTSTAT_HEURISTIC_COMMIT 0x00001000") + cpp_quote("#define XACTSTAT_HEURISTIC_DAMAGE 0x00002000") + cpp_quote("#define XACTSTAT_HEURISTIC_DANGER 0x00004000") + cpp_quote("#define XACTSTAT_FORCED_ABORT 0x00008000") + cpp_quote("#define XACTSTAT_FORCED_COMMIT 0x00010000") + cpp_quote("#define XACTSTAT_INDOUBT 0x00020000") + cpp_quote("#define XACTSTAT_CLOSED 0x00040000") + cpp_quote("#define XACTSTAT_OPEN 0x00000003") + cpp_quote("#define XACTSTAT_NOTPREPARED 0x0007FFC3") + cpp_quote("#define XACTSTAT_ALL 0x0007FFFF") + cpp_quote("#endif") + } + +// +//========================================================================== +// Basic transaction interfaces +//========================================================================== +// + +// @interface ITransaction | Transaction interface, single phase + +[object,uuid(0fb15084-af41-11ce-bd2b-204c4f4f5020), pointer_default(unique)] +interface ITransaction : IUnknown { + + HRESULT Commit + ( + [in] BOOL fRetaining, + [in] DWORD grfTC, + [in] DWORD grfRM + ); + HRESULT Abort + ( + [in] BOID* pboidReason, + [in] BOOL fRetaining, + [in] BOOL fAsync + ); + HRESULT GetTransactionInfo + ( + [out] XACTTRANSINFO* pinfo + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(68F03E31-7610-11ce-BD02-524153480003),pointer_default(unique)] +interface ITransactionNested : ITransaction { + HRESULT GetParent + ( + [in] REFIID iid, + [out, iid_is(iid)] void** ppvParent + ); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionDispenser | Interface by which new transactions are commonly created + +[object,uuid(0141fda1-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)] +interface ITransactionDispenser : IUnknown { + HRESULT BeginTransaction + ( + [in] IUnknown* punkOuter, // controlling unknown + [in] ISOLEVEL isoLevel, // isolation level for xtion + [in] ULONG isoFlags, // values from ISOFLAG enumeration + [in] ULONG ulTimeout, // timeout in milliseconds + [in] IUnknown* punkTransactionCoord, // coord'd transaction in which to enlist, if any + [out] ITransaction** ppTransaction + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(68F03E3B-7610-11ce-BD02-524153480003),pointer_default(unique)] +interface ITransactionDispenserAdmin : ITransactionDispenser { + HRESULT EnumTransactions + ( + [out] IEnumTransaction** ppenum + ); + HRESULT GetStatistics + ( + [out] XACTSTATS* pStatistics + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(68F03E3A-7610-11ce-BD02-524153480003),pointer_default(unique)] +interface IEnumTransaction : IUnknown { + [local] + HRESULT Next + ( + [in] ULONG celt, + [out] ITransaction** rgelt, + [out] ULONG* pceltFetched + ); + + [call_as(Next)] + HRESULT RemoteNext + ( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + ITransaction** rgelt, + [out] ULONG* pceltFetched + ); + + HRESULT Skip + ( + [in] ULONG celt + ); + + HRESULT Reset(); + + HRESULT Clone + ( + [out] IEnumTransaction** ppenum + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(0dea57d2-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)] +interface ITransactionAdmin : IUnknown { + HRESULT ForceCommit(); + HRESULT ForceAbort(); + HRESULT SetDescription + ( + [in] LCID lcid, + [in] LPWSTR pswzDescription + ); + HRESULT GetDescription + ( + [in] LCID lcid, + [out] LPWSTR* ppswzDescription + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(0dea57d1-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)] +interface ITransactionControl : IUnknown { + HRESULT GetStatus + ( + [out] DWORD* pdwStatus + ); + HRESULT SetTimeout + ( + [in] ULONG ulTimeout + ); + HRESULT PreventCommit + ( + [in] BOOL fPrevent + ); + } + +// +//========================================================================== +// Events sets raised by transaction objects. Use connection points to +// connect to these. +//========================================================================== +// + +[object,uuid(0dea57d0-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)] +interface ITransactionAdjustEvents : IUnknown { + HRESULT OnPrePrepareAdjust + ( + [in] BOOL fRetaining + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(fd38c571-76b3-11ce-bd03-524153480003),pointer_default(unique)] +interface ITransactionVetoEvents : IUnknown { + HRESULT OnPrePrepare + ( + [in] BOOL fRetaining + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(0fb15080-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)] +interface ITransactionOutcomeEvents : IUnknown { + HRESULT OnCommit + ( + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW, + [in] HRESULT hr + ); + HRESULT OnAbort + ( + [in] BOID* pboidReason, + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW, + [in] HRESULT hr + ); + HRESULT OnHeuristicDecision + ( + [in] DWORD dwDecision, + [in] BOID* pboidReason, + [in] HRESULT hr + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(0dea57d4-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)] +interface ITransactionCompletionEvents : IUnknown { + HRESULT OnCommit + ( + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW, + [in] HRESULT hr + ); + HRESULT OnAbort + ( + [in] BOID* pboidReason, + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW, + [in] HRESULT hr + ); + HRESULT OnHeuristicDecision + ( + [in] DWORD dwDecision, + [in] BOID* pboidReason, + [in] HRESULT hr + ); + } + + +#include "txcoord.idl" + +// +//========================================================================== +// Error code definitions for all transaction related functionality. +//========================================================================== +// + +cpp_quote("#define XACT_E_FIRST 0x8004D000") +cpp_quote("#define XACT_E_LAST 0x8004D01D") +cpp_quote("#define XACT_S_FIRST 0x0004D000") +cpp_quote("#define XACT_S_LAST 0x0004D009") +cpp_quote("") +cpp_quote("#define XACT_E_ABORTED 0x8004D019") +cpp_quote("#define XACT_E_ALREADYOTHERSINGLEPHASE 0x8004D000") +cpp_quote("#define XACT_E_ALREADYINPROGRESS 0x8004D018") +cpp_quote("#define XACT_E_CANTRETAIN 0x8004D001") +cpp_quote("#define XACT_E_COMMITFAILED 0x8004D002") +cpp_quote("#define XACT_E_COMMITPREVENTED 0x8004D003") +cpp_quote("#define XACT_E_CONNECTION_DENIED 0x8004D01D") +cpp_quote("#define XACT_E_CONNECTION_DOWN 0x8004D01C") +cpp_quote("#define XACT_E_HEURISTICABORT 0x8004D004") +cpp_quote("#define XACT_E_HEURISTICCOMMIT 0x8004D005") +cpp_quote("#define XACT_E_HEURISTICDAMAGE 0x8004D006") +cpp_quote("#define XACT_E_HEURISTICDANGER 0x8004D007") +cpp_quote("#define XACT_E_INDOUBT 0x8004D016") +cpp_quote("#define XACT_E_INVALIDCOOKIE 0x8004D015") +cpp_quote("#define XACT_E_ISOLATIONLEVEL 0x8004D008") +cpp_quote("#define XACT_E_LOGFULL 0x8004D01A") +cpp_quote("#define XACT_E_NOASYNC 0x8004D009") +cpp_quote("#define XACT_E_NOENLIST 0x8004D00A") +cpp_quote("#define XACT_E_NOIMPORTOBJECT 0x8004D014") +cpp_quote("#define XACT_E_NOISORETAIN 0x8004D00B") +cpp_quote("#define XACT_E_NORESOURCE 0x8004D00C") +cpp_quote("#define XACT_E_NOTCURRENT 0x8004D00D") +cpp_quote("#define XACT_E_NOTIMEOUT 0x8004D017") +cpp_quote("#define XACT_E_NOTRANSACTION 0x8004D00E") +cpp_quote("#define XACT_E_NOTSUPPORTED 0x8004D00F") +cpp_quote("#define XACT_E_TMNOTAVAILABLE 0x8004D01B") +cpp_quote("#define XACT_E_UNKNOWNRMGRID 0x8004D010") +cpp_quote("#define XACT_E_WRONGSTATE 0x8004D011") +cpp_quote("#define XACT_E_WRONGUOW 0x8004D012") +cpp_quote("#define XACT_E_XTIONEXISTS 0x8004D013") +cpp_quote("") +cpp_quote("#define XACT_S_ABORTING 0x0004D008") +cpp_quote("#define XACT_S_ALLNORETAIN 0x0004D007") +cpp_quote("#define XACT_S_ASYNC 0x0004D000") +cpp_quote("#define XACT_S_DEFECT 0x0004D001") +cpp_quote("#define XACT_S_OKINFORM 0x0004D004") +cpp_quote("#define XACT_S_MADECHANGESCONTENT 0x0004D005") +cpp_quote("#define XACT_S_MADECHANGESINFORM 0x0004D006") +cpp_quote("#define XACT_S_READONLY 0x0004D002") +cpp_quote("#define XACT_S_SINGLEPHASE 0x0004D009") +cpp_quote("#define XACT_S_SOMENORETAIN 0x0004D003") diff --git a/private/types2/oledb/trnjoi.idl b/private/types2/oledb/trnjoi.idl new file mode 100644 index 000000000..2dcbcba07 --- /dev/null +++ b/private/types2/oledb/trnjoi.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: trnjoi.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5e-2a1c-11ce-ade5-00aa0044773d) + + +interface ITransactionJoin : IUnknown { + + HRESULT GetOptionsObject( + [out] ITransactionOptions ** ppOptions + ); + + HRESULT JoinTransaction( + [in] IUnknown * punkTransactionCoord, + [in] ISOLEVEL isoLevel, + [in] ULONG isoFlags, + [in] ITransactionOptions * pOtherOptions + ); + +} diff --git a/private/types2/oledb/trnlcl.idl b/private/types2/oledb/trnlcl.idl new file mode 100644 index 000000000..726c678ae --- /dev/null +++ b/private/types2/oledb/trnlcl.idl @@ -0,0 +1,33 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: trnlcl.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a5f-2a1c-11ce-ade5-00aa0044773d) + + +interface ITransactionLocal : IUnknown { + + HRESULT GetOptionsObject( + [out] ITransactionOptions ** ppOptions + ); + + HRESULT StartTransaction( + [in] ISOLEVEL isoLevel, + [in] ULONG isoFlags, + [in] ITransactionOptions * pOtherOptions, + [out] ULONG * pulTransactionLevel + ); + +} diff --git a/private/types2/oledb/trnobj.idl b/private/types2/oledb/trnobj.idl new file mode 100644 index 000000000..8d595cd41 --- /dev/null +++ b/private/types2/oledb/trnobj.idl @@ -0,0 +1,27 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: trnobj.idl +// +// Contents: OLE DB interface definition +// +// History: 12 Jun 1995 PeterBu Created from M4 spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(0c733a60-2a1c-11ce-ade5-00aa0044773d) + + +interface ITransactionObject : IUnknown { + + HRESULT GetTransactionObject( + [in] ULONG ulTransactionLevel, + [out] ITransaction ** ppTransactionObject + ); + +} diff --git a/private/types2/oledb/txcoord.idl b/private/types2/oledb/txcoord.idl new file mode 100644 index 000000000..f8e67ac12 --- /dev/null +++ b/private/types2/oledb/txcoord.idl @@ -0,0 +1,420 @@ +//.------------------------------------------------------------------------- +//. +//. Microsoft Windows +//. Copyright (C) Microsoft Corporation, 1995. +//. +//. File: txcoord.idl +//. +//. Contents: Transaction types and interfaces related to +//. transaction coordination. +//. +// @doc +//.-------------------------------------------------------------------------- + +//import "transact.idl"; +import "objidl.idl"; // needed for IMoniker + +// +//-------------------------------------------------------------------------- +// + +interface ITransactionCoordinator; +interface ITransactionResource; +interface ITransactionResourceAsync; +interface ITransactionResourceRecover; +interface ITransactionResourceManagement; +interface ITransactionEnlistment; +interface ITransactionEnlistmentAsync; +interface ITransactionEnlistmentRecover; +interface IEnumXACTRE; +interface ITransactionInProgressEvents; + +interface ITransactionExportFactory; +interface ITransactionImportWhereabouts; +interface ITransactionExport; +interface ITransactionImport; + +//========================================================================== +// Transaction coordination related types +//========================================================================== + +[local,pointer_default(unique)] +interface TransactionCoordinationTypes + { + typedef BOID XACTRMGRID; // resource manager group id + + typedef enum XACTTCRMENLIST { // a bit field of 32 bits; be sure to mask before comparing + XACTTCRMENLIST_IAMACTIVE = 1, + XACTTCRMENLIST_YOUBEACTIVE = 2, + } XACTTCRMENLIST; + + typedef enum XACTRMTC { // a bit field of 32 bits, be sure to mask before comparing + XACTRMTC_CANBEACTIVE = 1, + XACTRMTC_CANNOTRACE = 2, + } XACTRMTC; + + typedef struct XACTRE { // used in ITransactionCoordinator::EnumResources + IUnknown* pResource; // the enlisted resource + ULONG type; // the type of resource. Values from XACTRETY. + ULONG status; // its status. Values from XACTSTAT. + DWORD grfRMTC; // flag values with which this resource was enlisted + XACTRMGRID rmgrid; // resource manager group id associated with this resource + BOID boidRefusedReason; // If status is _OPENREFUSED, this is the boid from resource as to why + } XACTRE; + + typedef enum XACTRETY { // used in XACTRE + XACTRETY_ONEPHASE = 1, + XACTRETY_TWOPHASE = 2, + XACTRETY_THREEPHASE = 3, // for future use, when and if three-phase commit logic is added + } XACTRETY; + } + +// +//========================================================================== +// Transaction coordination interfaces +//========================================================================== +// + +[object,uuid(0fb15083-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)] +interface ITransactionCoordinator : IUnknown { + HRESULT Enlist + ( + [in] IUnknown* pResource, + [in] DWORD grfRMTC, + [in] XACTRMGRID* prmgrid, + [in] XACTTRANSINFO* pinfo, + [in] DWORD* pgrfTCRMENLIST, + [out] ITransactionEnlistment** ppEnlist + ); + HRESULT EnlistSinglePhase + ( + [in] ITransaction* pResource, + [in] DWORD grfRMTC, + [in] XACTRMGRID* prmgrid, + [in] XACTTRANSINFO* pinfo, + [out] DWORD* pgrfTCRMENLIST, + [out] ITransactionEnlistment** ppEnlist + ); + HRESULT EnumResources + ( + [out] IEnumXACTRE** ppenum + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(7e8e6200-76ba-11ce-bd03-524153480003),pointer_default(unique)] +interface ITransactionResourceRecover : IUnknown { + HRESULT GetMoniker + ( + [out] IMoniker** ppmk + ); + HRESULT ReEnlist + ( + [in] ITransactionCoordinator* pEnlistment, + [in] XACTUOW* pUOWCur + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(a0159630-76ba-11ce-bd03-524153480003),pointer_default(unique)] +interface ITransactionResourceManagement : IUnknown { + HRESULT Defect + ( + [in] BOOL fInformCoordinator + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(424fd970-d67a-11ce-93fc-00aa006c3706),pointer_default(unique)] +interface ITransactionResource : ITransactionResourceManagement { + HRESULT Prepare + ( + [in] BOOL fRetaining, + [in] DWORD grfRM, + [in] BOOL fSinglePhase, + [out] IMoniker** ppmk, + [out] BOID** ppboidReason + ); + HRESULT Commit + ( + [in] DWORD grfRM, + [in] XACTUOW* pNewUOW + ); + HRESULT Abort + ( + [in] BOID* pboidReason, + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW + ); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionResourceAsync | Implemented by the resource manager. + +[object,uuid(424fd971-d67a-11ce-93fc-00aa006c3706),pointer_default(unique)] +interface ITransactionResourceAsync : ITransactionResourceManagement { + HRESULT PrepareRequest + ( + [in] BOOL fRetaining, + [in] DWORD grfRM, + [in] BOOL fWantMoniker, + [in] BOOL fSinglePhase + ); + HRESULT CommitRequest + ( + [in] DWORD grfRM, + [in] XACTUOW* pNewUOW + ); + HRESULT AbortRequest + ( + [in] BOID* pboidReason, + [in] BOOL fRetaining, + [in] XACTUOW* pNewUOW + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(a0159635-76ba-11ce-bd03-524153480003),pointer_default(unique)] +interface ITransactionEnlistmentRecover : IUnknown { + HRESULT GetMoniker + ( + [out] IMoniker** ppmk + ); + HRESULT ReEnlist + ( + [in] ITransactionResource* pUnkResource, + [in] XACTUOW* pUOWExpected, + [in] XACTRMGRID* prmgrid + ); + HRESULT RecoveryComplete + ( + [in] XACTRMGRID* prmgrid + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(a0159633-76ba-11ce-bd03-524153480003),pointer_default(unique)] +interface ITransactionEnlistment : IUnknown { + HRESULT GetTransaction + ( + [out] ITransaction** ppTransaction + ); + HRESULT EarlyVote + ( + [in] BOOL fVote, + [in] BOID* pboidReason + ); + HRESULT HeuristicDecision + ( + [in] DWORD dwDecision, + [in] BOID* pboidReason, + [in] BOOL fDefecting + ); + HRESULT Defect(); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionEnlistmentAsync | + +[object,uuid(0fb15081-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)] +interface ITransactionEnlistmentAsync : IUnknown { + HRESULT PrepareRequestDone + ( + [in] HRESULT hr, + [in] IMoniker* pmk, + [in] BOID* pboidReason + ); + HRESULT CommitRequestDone + ( + [in] HRESULT hr + ); + HRESULT AbortRequestDone + ( + [in] HRESULT hr + ); + } + +// +//-------------------------------------------------------------------------- +// + +[object,uuid(E1CF9B54-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)] +interface IEnumXACTRE : IUnknown { + [local] + HRESULT Next + ( + [in] ULONG celt, + [out] XACTRE* rgelt, + [out] ULONG* pceltFetched + ); + + [call_as(Next)] + HRESULT RemoteNext + ( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + XACTRE* rgelt, + [out] ULONG* pceltFetched + ); + + HRESULT Skip + ( + [in] ULONG celt + ); + + HRESULT Reset(); + + HRESULT Clone + ( + [out] IEnumXACTRE** ppenum + ); + } + +// +//========================================================================== +// Event sets related to transaction coordination +//========================================================================== +// + +// @interface ITransactionInProgressEvents | Used to learn of interesting things that happen while a transaction is in progress. + +[object,uuid(0dea57d3-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)] +interface ITransactionInProgressEvents : IUnknown { + HRESULT OnEarlyVote + ( + [in] XACTRE* pResourceInfo, + [in] BOOL fVote + ); + HRESULT OnDefected + ( + [in] XACTRE* pResourceInfo + ); + } + +// +//========================================================================== +// Interfaces related to ODBC transaction coordination. +//========================================================================== +// + +// @interface ITransactionExportFactory | Used on the client side to associate an export / import object pair with an external connection. + +[object,uuid(E1CF9B53-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)] +interface ITransactionExportFactory : IUnknown { + HRESULT GetRemoteClassId + ( + [out] CLSID* pclsid + ); + HRESULT Create + ( + [in] ULONG cbWhereabouts, + [in, size_is(cbWhereabouts)] + BYTE* rgbWhereabouts, + [out] ITransactionExport** ppExport + ); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionImportWhereabouts | Used on the server side to associate an export / import object pair with an external connection. + +[object,uuid(0141fda4-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)] +interface ITransactionImportWhereabouts : IUnknown { + HRESULT GetWhereaboutsSize + ( + [out] ULONG* pcbWhereabouts + ); + [local] + HRESULT GetWhereabouts + ( + [in] ULONG cbWhereabouts, + [out, size_is(cbWhereabouts)] + BYTE* rgbWhereabouts, + [out] ULONG* pcbUsed + ); + [call_as(GetWhereabouts)] // pcbWhereaboutsUsed is optional; error semantics on it + HRESULT RemoteGetWhereabouts + ( + [out] ULONG* pcbUsed, + [in] ULONG cbWhereabouts, + [out, size_is(cbWhereabouts), length_is(*pcbUsed)] + BYTE* rgbWhereabouts + ); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionExport | Used to plumb up a particular transaction with an export / import pair. + +[object,uuid(0141fda5-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)] +interface ITransactionExport : IUnknown { + HRESULT Export + ( + [in] IUnknown* punkTransaction, + [out] ULONG* pcbTransactionCookie + ); + [local] + HRESULT GetTransactionCookie + ( + [in] IUnknown* punkTransaction, + [in] ULONG cbTransactionCookie, + [out, size_is(cbTransactionCookie)] + BYTE* rgbTransactionCookie, + [out] ULONG* pcbUsed + ); + [call_as(GetTransactionCookie)] + HRESULT RemoteGetTransactionCookie + ( + [in] IUnknown* punkTransaction, + [out] ULONG* pcbUsed, + [in] ULONG cbTransactionCookie, + [out, size_is(cbTransactionCookie), length_is(*pcbUsed)] + BYTE* rgbTransactionCookie + ); + } + +// +//-------------------------------------------------------------------------- +// + +// @interface ITransactionImport | Used to plumb up a particular transaction with an export / import pair. + +[object,uuid(E1CF9B5A-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)] +interface ITransactionImport : IUnknown { + HRESULT Import + ( + [in] ULONG cbTransactionCookie, + [in, size_is(cbTransactionCookie)] + BYTE* rgbTransactionCookie, + [in] IID* piid, + [out, iid_is(piid)] + void** ppvTransaction + ); + } + + diff --git a/private/types2/oleext/iaccess.idl b/private/types2/oleext/iaccess.idl new file mode 100644 index 000000000..40076f664 --- /dev/null +++ b/private/types2/oleext/iaccess.idl @@ -0,0 +1,123 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1994 - 1995. +// +// File: iaccess.idl +// +// Contents: definitions of access and audit control interfaces +// +// History: 2-9-95 DaveMont Created +// +//---------------------------------------------------------------------------- + +import "unknwn.idl"; +import "accctrl.h"; + +/**************************************************************************** + * Storage access control interface + ****************************************************************************/ + +// All nested structures are allocated in the same block of memory. +// Thus these types are freed with a single call to CoTaskMemFree. +typedef PACTRL_ACCESSW PACTRL_ACCESSW_ALLOCATE_ALL_NODES; +typedef PACTRL_AUDITW PACTRL_AUDITW_ALLOCATE_ALL_NODES; + +interface IAccessControl; +[ + object, + uuid(EEDD23E0-8410-11CE-A1C3-08002B2B8D8F), + pointer_default(unique) +] +interface IAccessControl : IUnknown +{ + + HRESULT GrantAccessRights + ( + [in] PACTRL_ACCESSW pAccessList + ); + + HRESULT SetAccessRights + ( + [in] PACTRL_ACCESSW pAccessList + ); + + HRESULT SetOwner + ( + [in] PTRUSTEEW pOwner, + [in] PTRUSTEEW pGroup + ); + + HRESULT RevokeAccessRights + ( + [in] LPWSTR lpProperty, + [in] ULONG cTrustees, + [in, size_is(cTrustees)] TRUSTEEW prgTrustees[] + ); + + HRESULT GetAllAccessRights + ( + [in] LPWSTR lpProperty, + [out] PACTRL_ACCESSW_ALLOCATE_ALL_NODES *ppAccessList, + [out] PTRUSTEEW *ppOwner, + [out] PTRUSTEEW *ppGroup + ); + + + HRESULT IsAccessAllowed + ( + [in] PTRUSTEEW pTrustee, + [in] LPWSTR lpProperty, + [in] ACCESS_RIGHTS AccessRights, + [out] BOOL *pfAccessAllowed + ); + +} + +/**************************************************************************** + * Storage audit control interface + ****************************************************************************/ + +interface IAuditControl; +[ + object, + uuid(1da6292f-bc66-11ce-aae3-00aa004c2737), + pointer_default(unique) +] + +interface IAuditControl : IUnknown +{ + HRESULT GrantAuditRights + ( + [in] PACTRL_AUDITW pAuditList + ); + + HRESULT SetAuditRights + ( + [in] PACTRL_AUDITW pAuditList + ); + + HRESULT RevokeAuditRights + ( + [in] LPWSTR lpProperty, + [in] ULONG cTrustees, + [in, size_is(cTrustees)] TRUSTEEW prgTrustees [] + ); + + HRESULT GetAllAuditRights + ( + [in] LPWSTR lpProperty, + [out] PACTRL_AUDITW *ppAuditList + ); + + // + // Determines if the given trustee with the state audit rights will generate an audit event if the object is accessed. + // + HRESULT IsAccessAudited + ( + [in] PTRUSTEEW pTrustee, + [in] ACCESS_RIGHTS AuditRights, + [out] BOOL *pfAccessAudited + ); +} + diff --git a/private/types2/oleext/idiff.idl b/private/types2/oleext/idiff.idl new file mode 100644 index 000000000..e0462ac4e --- /dev/null +++ b/private/types2/oleext/idiff.idl @@ -0,0 +1,58 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: idiff.idl +// +// Contents: IDifferencing interface +// +// History: 11-Nov-94 SethuR Created +// +// Notes: There are three different way of extracting the differences +// between a given storage and another point of reference +// (another storage, a version id. or a time stamp). In the +// first case there is no temporal significance to the differences +// extracted, i.e., it is the difference in the snapshots at +// that instant of time. For the second and third cases there +// is a temporal significance attached to the differences. These +// also require some form of history to be associated with the +// storage. +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +REMOTED_INTERFACE(994f0af0-2977-11ce-bb80-08002b36b2b0) +interface IDifferencing : IUnknown +{ + typedef enum { + DIFF_TYPE_Ordinary, + DIFF_TYPE_Urgent + } DifferenceType; + + HRESULT SubtractMoniker( + [in] IReconcileInitiator *pInitiator, + [in] IMoniker *pOtherStg, + [in] DifferenceType diffType, + [in,out] STGMEDIUM *pStgMedium, + [in] DWORD reserved); + + HRESULT SubtractVerid( + [in] IReconcileInitiator *pInitiator, + [in] VERID *pVerid, + [in] DifferenceType diffType, + [in,out] STGMEDIUM *pStgMedium, + [in] DWORD reserved); + + HRESULT SubtractTimeStamp( + [in] IReconcileInitiator *pInitiator, + [in] FILETIME *pTimeStamp, // UTC + [in] DifferenceType diffType, + [in,out] STGMEDIUM *pStgMedium, + [in] DWORD reserved); + + HRESULT Add( + [in] IReconcileInitiator *pInitiator, + [in] STGMEDIUM *pStgMedium); +} diff --git a/private/types2/oleext/idir.idl b/private/types2/oleext/idir.idl new file mode 100644 index 000000000..8d7a084c6 --- /dev/null +++ b/private/types2/oleext/idir.idl @@ -0,0 +1,169 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1995 - 1995. +// +// File: IDirectory.idl +// +// Contents: IDirectory interface definition +// +// History: 14-Jun-1995 HenryLee initial version +// +//-------------------------------------------------------------------------- + +import "unknwn.idl"; +import "transact.idl"; +interface IEnumSTATDIR; + +typedef enum tagSTGFMT +{ + STGFMT_DOCUMENT = 0, + STGFMT_DIRECTORY = 1, + STGFMT_CATALOG = 2, + STGFMT_FILE = 3, + STGFMT_ANY = 4, + STGFMT_DOCFILE = 5, + STGFMT_STORAGE = 6, + STGFMT_JUNCTION = 7 +} STGFMT; + +cpp_quote("#define STGFMT_FLATFILE STGFMT_FILE") + +typedef struct tagSTGTEMPLATE +{ + IUnknown * pUnkTemplate; + DWORD ciidTemplate; + IID * riidTemplate; +} STGTEMPLATE; + +typedef struct tagOBJECT_SECURITY_INIT +{ + TRUSTEE_W * pTrusteeOwner; + TRUSTEE_W * pTrusteeGroup; + DWORD cAccessRightsLength; + EXPLICIT_ACCESS_W *pAccessRightsList; + DWORD cAuditEntriesLength; + EXPLICIT_ACCESS_W *pAuditEntriesList; +} OBJECT_SECURITY_INIT; + +typedef struct tagSTGCREATE +{ + DWORD grfAttrs; + STGTEMPLATE *pTemplate; + OBJECT_SECURITY_INIT *pSecurity; +} STGCREATE; + +typedef struct tagSTGOPEN +{ + STGFMT stgfmt; + DWORD grfMode; + DWORD grfFlags; + ITransaction * pTransaction; +} STGOPEN; + +typedef struct tagSTATDIR +{ + WCHAR * pwcsName; + STGFMT stgfmt; + DWORD grfAttrs; + ULARGE_INTEGER cbSize; + FILETIME mtime; + FILETIME atime; + FILETIME ctime; + DWORD grfMode; + CLSID clsid; + DWORD grfStateBits; +} STATDIR; + + +[ + object, + uuid(5c036ea0-b556-11ce-b33a-00aa00680937), + pointer_default(unique) +] +interface IDirectory : IUnknown +{ + [local] + HRESULT __stdcall CreateElement ([in] const WCHAR * pwcsName, + [in] STGCREATE * pStgCreate, + [in] STGOPEN * pStgOpen, + [in] REFIID riid, + [out] void ** ppObjectOpen); + + + [call_as(CreateElement)] + HRESULT __stdcall RemoteCreateElement ([in] const WCHAR * pwcsName, + [in] STGCREATE * pStgCreate, + [in] STGOPEN * pStgOpen, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppObjectOpen); + + [local] + HRESULT __stdcall OpenElement ([in] const WCHAR *pwcsName, + [in] STGOPEN * pStgOpen, + [in] REFIID riid, + [out] STGFMT * pStgfmt, + [out] void ** ppObjectOpen); + + [call_as(OpenElement)] + HRESULT __stdcall RemoteOpenElement ([in] const WCHAR *pwcsName, + [in] STGOPEN * pStgOpen, + [in] REFIID riid, + [out] STGFMT * pStgfmt, + [out, iid_is(riid)] IUnknown ** ppObjectOpen); + + + HRESULT MoveElement ([in] const WCHAR *pwcsName, + [in, unique] IDirectory * pdirDest, + [in, unique] const WCHAR * pwcsNewName, + [in] DWORD grfFlags); + + HRESULT CommitDirectory ([in] DWORD grfCommitFlags); + HRESULT RevertDirectory (); + + HRESULT DeleteElement ([in] const WCHAR *pwcsName); + + HRESULT SetTimes ([in, unique] const WCHAR *pwcsName, + [in, unique] const FILETIME * pctime, + [in, unique] const FILETIME * patime, + [in, unique] const FILETIME * pmtime); + + HRESULT SetDirectoryClass ([in] REFCLSID clsid); // redudant ? + + HRESULT SetAttributes ([in, unique] const WCHAR * pwcsName, + [in] DWORD grfAttrs); + + HRESULT StatElement ([in, unique] const WCHAR *pwcsName, + [out] STATDIR *pstatdir, + [in] DWORD grfStatFlag); + + HRESULT EnumDirectoryElements ([out] IEnumSTATDIR ** ppenum); + +} + +[ + object, + uuid(74c76b90-b556-11ce-b33a-00aa00680937), + pointer_default(unique) +] +interface IEnumSTATDIR : IUnknown +{ + [local] + HRESULT __stdcall Next( + [in] ULONG celt, + [in] STATDIR * rgelt, + [out] ULONG * pceltFetched ); + + [call_as(Next)] + HRESULT __stdcall RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] STATDIR * rgelt, + [out] ULONG * pceltFetched ); + + + HRESULT Skip([in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone([out] IEnumSTATDIR ** ppenum); +} diff --git a/private/types2/oleext/makefile b/private/types2/oleext/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/oleext/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/oleext/multpr.idl b/private/types2/oleext/multpr.idl new file mode 100644 index 000000000..add744aca --- /dev/null +++ b/private/types2/oleext/multpr.idl @@ -0,0 +1,50 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: multpr.idl +// +// Contents: IMultiplePropertyAccess +// +// History: 07-Mar-94 CarlH Created +// 02-Feb-95 MikeSe Reinstated. Sync'd with vba95 spec. +// +//---------------------------------------------------------------------------- + +[ + object, + uuid(ec81fede-d432-11ce-9244-0020af6e72db), + pointer_default(unique) +] +interface IMultiplePropertyAccess : IUnknown +{ + + HRESULT GetIDsOfProperties( + [in] REFIID riid, + [in, size_is(cNames)] LPOLESTR *rgszNames, + [in] ULONG cNames, + [in] LCID lcid, + [out, size_is(cNames)] HRESULT *rghresult, + [out, size_is(cNames)] DISPID *rgdispid); + + HRESULT GetMultiple( + [in, size_is(cMembers)] DISPID *rgdispidMembers, + [in] ULONG cMembers, + [in] REFIID riid, + [in] LCID lcid, + [in] BOOL fAtomic, + [out, size_is(cMembers)] VARIANT *rgvarValues, + [out, size_is(cMembers)] HRESULT *rghresult); + + HRESULT PutMultiple( + [in, size_is(cMembers)] DISPID *rgdispidMembers, + [in, size_is(cMembers)] USHORT *rgusFlags, + [in] ULONG cMembers, + [in] REFIID riid, + [in] LCID lcid, + [in] BOOL fAtomic, + [in, size_is(cMembers)] VARIANT *rgvarValues, + [out, size_is(cMembers)] HRESULT *rghresult); +} + diff --git a/private/types2/oleext/oleext.acf b/private/types2/oleext/oleext.acf new file mode 100644 index 000000000..029f9de5d --- /dev/null +++ b/private/types2/oleext/oleext.acf @@ -0,0 +1,5 @@ +interface IAccessControl +{ + typedef [allocate(all_nodes)] PACTRL_ACCESSW_ALLOCATE_ALL_NODES; + typedef [allocate(all_nodes)] PACTRL_AUDITW_ALLOCATE_ALL_NODES; +} diff --git a/private/types2/oleext/oleext.idl b/private/types2/oleext/oleext.idl new file mode 100644 index 000000000..6ff134368 --- /dev/null +++ b/private/types2/oleext/oleext.idl @@ -0,0 +1,57 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 - 1993. +// +// File: oleext.idl +// +// Contents: master idl file for public interfaces +// +// Note: This subdirectory contains extensions to OLE +// that we expect to become part of OLE imminently. +// +// Warning: Keep random shit OUT of this subdirectory, or die. +// +// History: 7-18-94 ErikGav Created +// 3-21-95 BillMo Added 'new' storage property i/f. +// 11-14-95 MikeHill Added BIND_OPTS2 structure. +// +//---------------------------------------------------------------------------- + +#ifdef IMPORT_IDL_DEPENDENTS +import "oaidl.idl"; +#endif + +// Object level property interfaces +#include "propctr.idl" + +// OLE replication interfaces +#include "recnotfy.idl" +#include "recobj.idl" +#include "version.idl" +#include "recinit.idl" +#include "idiff.idl" + +// access control interfaces +#include "iaccess.idl" + +// OLE directory interface +#include "idir.idl" + +// multiple property access +#include "multpr.idl" + +cpp_quote("#if defined(_DCOM_) || defined(_CAIROSTG_)") +cpp_quote("#include <olecairo.h>") +cpp_quote("#endif // if defined(_DCOM_) || defined(_CAIROSTG_)") + +cpp_quote("#if !defined(_TAGFULLPROPSPEC_DEFINED_)") +cpp_quote("#define _TAGFULLPROPSPEC_DEFINED_") +typedef struct tagFULLPROPSPEC +{ + GUID guidPropSet; + PROPSPEC psProperty; +} FULLPROPSPEC; +cpp_quote("#endif // #if !defined(_TAGFULLPROPSPEC_DEFINED_)") + + diff --git a/private/types2/oleext/propctr.idl b/private/types2/oleext/propctr.idl new file mode 100644 index 000000000..3324d7c86 --- /dev/null +++ b/private/types2/oleext/propctr.idl @@ -0,0 +1,25 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1995. +// +// File: propctr.idl +// +// Contents: IPropsetContainer +// +// History: 09-Aug-94 IraS Created +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +REMOTED_INTERFACE(b4ffae60-a7ca-11cd-b58b-00006b829156) +interface IPropertySetContainer : IUnknown +{ + HRESULT GetPropset([in] REFGUID rguidName, + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppvObj); + + HRESULT AddPropset([in] IPersist * pPropset); + HRESULT DeletePropset([in] REFGUID rguidName); +} diff --git a/private/types2/oleext/recinit.idl b/private/types2/oleext/recinit.idl new file mode 100644 index 000000000..76af857d2 --- /dev/null +++ b/private/types2/oleext/recinit.idl @@ -0,0 +1,42 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: recinit.idl +// +// Contents: IDL definition for IReconcileInitiator interface +// +// Classes: +// +// Functions: +// +// History: 12-12-94 SethuR Created from DavidDi's specs. +// +// Notes: +// +// This interface needs to be moved to a more global location. +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +REMOTED_INTERFACE(99180161-DA16-101A-935C-444553540000) +interface IReconcileInitiator : IUnknown +{ + HRESULT SetAbortCallback( + [in,unique] IUnknown *pUnkForAbort); + + HRESULT SetProgressFeedback( + [in] ULONG ulProgress, + [in] ULONG ulProgressMax); + + HRESULT FindVersion( + [in] VERID *pverid, + [out] IMoniker **ppmk); + + HRESULT FindVersionFromGraph( + [in] VERGRAPH *pvergraph, + [out] VERID *pverid, + [out] IMoniker **ppmk); +} diff --git a/private/types2/oleext/recnotfy.idl b/private/types2/oleext/recnotfy.idl new file mode 100644 index 000000000..a5a6a1354 --- /dev/null +++ b/private/types2/oleext/recnotfy.idl @@ -0,0 +1,34 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: recnotfy.idl +// +// Contents: IDL definition for INotifyReplica interface +// +// Classes: +// +// Functions: +// +// History: 12-12-94 SethuR Created from DavidDi's specs. +// +// Notes: There are some issues regarding this interface that +// needs to be ironed out. +// +// 1) How do we prevent having to know about the global topology +// in the case of INotifyReplica interface ? +// +// This interface needs to be moved to a more global location. +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +REMOTED_INTERFACE(99180163-DA16-101A-935C-444553540000) +interface INotifyReplica : IUnknown +{ + HRESULT YouAreAReplica ( + [in] ULONG cOtherReplicas, + [size_is(cOtherReplicas,), in,unique] IMoniker **rgpOtherReplicas); +} diff --git a/private/types2/oleext/recobj.idl b/private/types2/oleext/recobj.idl new file mode 100644 index 000000000..cea0d425e --- /dev/null +++ b/private/types2/oleext/recobj.idl @@ -0,0 +1,95 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: recobj.idl +// +// Contents: IDL definition for IReconcilableObject interface +// +// Classes: +// +// Functions: +// +// History: 12-12-94 SethuR Created from DavidDi's specs. +// +// Notes: There are a couple of issues regarding this interface that +// needs to be ironed out. +// +// 1) How do we deal with Remote Invocation/execution if we have +// HWND's as part of the arguments ? +// +// 2) How do we prevent having to know about the global topology +// in the case of IReplicaNotify interface ? +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +interface IReconcileInitiator; + +REMOTED_INTERFACE(99180162-DA16-101A-935C-444553540000) +interface IReconcilableObject : IUnknown +{ + typedef enum _reconcilef + { + // interaction with the user is allowed + + RECONCILEF_MAYBOTHERUSER = 0x0001, + + // + // hwndProgressFeedback may be used to provide reconciliation progress + // feedback to the user. + // + + RECONCILEF_FEEDBACKWINDOWVALID = 0x0002, // BUGBUG + + // residue support not required + + RECONCILEF_NORESIDUESOK = 0x0004, + + // caller not interested in callee's residues + + RECONCILEF_OMITSELFRESIDUE = 0x0008, + + // + // Reconcile() call resuming after a previous Reconcile() call returned + // REC_E_NOTCOMPLETE + // + + RECONCILEF_RESUMERECONCILIATION = 0x0010, + + // Object may perform all updates. + + RECONCILEF_YOUMAYDOTHEUPDATES = 0x0020, + + // Only this object has been changed. + + RECONCILEF_ONLYYOUWERECHANGED = 0x0040, + + // flag combinations + + ALL_RECONCILE_FLAGS = (RECONCILEF_MAYBOTHERUSER | + RECONCILEF_FEEDBACKWINDOWVALID | + RECONCILEF_NORESIDUESOK | + RECONCILEF_OMITSELFRESIDUE | + RECONCILEF_RESUMERECONCILIATION | + RECONCILEF_YOUMAYDOTHEUPDATES | + RECONCILEF_ONLYYOUWERECHANGED) + } RECONCILEF; + + HRESULT Reconcile( + [in] IReconcileInitiator *pInitiator, + [in] DWORD dwFlags, + [in] HWND hwndOwner, + [in] HWND hwndProgressFeedback, + [in] ULONG cInput, + [in,unique,size_is(cInput,)] LPMONIKER *rgpmkOtherInput, + [out] LONG *plOutIndex, + [in,unique] IStorage *pstgNewResidues, + [in,unique] ULONG *pvReserved); + + HRESULT GetProgressFeedbackMaxEstimate( + [out] ULONG *pulProgressMax); +} + diff --git a/private/types2/oleext/sources b/private/types2/oleext/sources new file mode 100644 index 000000000..d1abb3f20 --- /dev/null +++ b/private/types2/oleext/sources @@ -0,0 +1,18 @@ +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# +#---------------------------------------------------------------------------- + +!include ..\types2.inc + +SOURCES = oleext.idl + +# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once +SYNCHRONIZE_BLOCK=1 + diff --git a/private/types2/oleext/version.idl b/private/types2/oleext/version.idl new file mode 100644 index 000000000..04c20dd88 --- /dev/null +++ b/private/types2/oleext/version.idl @@ -0,0 +1,51 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: version.idl +// +// Contents: OLE versioning definintions. +// +// History: 09-Jan-95 DaveStr Created +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +[ + uuid(6291f800-2bfb-11ce-bb80-08002b36b2b0), + pointer_default(unique) +] + +interface Versioning +{ + +#pragma pack(4) // for midl & C interop + + typedef GUID VERID; + + typedef struct tagVERIDARRAY { + DWORD cVerid; + [size_is(cVerid)] GUID verid[]; + } VERIDARRAY; + + typedef struct tagVERBLOCK { + ULONG iveridFirst; + ULONG iveridMax; + ULONG cblockPrev; + [size_is(cblockPrev)] ULONG *rgiblockPrev; + } VERBLOCK; + + typedef struct tagVERCONNECTIONINFO { + DWORD cBlock; + [size_is(cBlock)] VERBLOCK *rgblock; + } VERCONNECTIONINFO; + + typedef struct tagVERGRAPH{ + VERCONNECTIONINFO blocks; + VERIDARRAY nodes; + } VERGRAPH; + +#pragma pack() +} diff --git a/private/types2/proxy/dirs b/private/types2/proxy/dirs new file mode 100644 index 000000000..79e7b85d1 --- /dev/null +++ b/private/types2/proxy/dirs @@ -0,0 +1,4 @@ +DIRS= uuid + +OPTIONAL_DIRS=proxy + diff --git a/private/types2/proxy/proxy/call_as.c b/private/types2/proxy/proxy/call_as.c new file mode 100644 index 000000000..dda9e8a6d --- /dev/null +++ b/private/types2/proxy/proxy/call_as.c @@ -0,0 +1,293 @@ +#if 0 +HRESULT __stdcall IEnumSTATPROPSTG_Next_Proxy( + IEnumSTATPROPSTG __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [out] */ STATPROPSTG __RPC_FAR *rgelt, + /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched) +{ + HRESULT hr; + ULONG celtFetched = 0; + + hr = IEnumSTATPROPSTG_RemoteNext_Proxy(This, celt, rgelt, &celtFetched); + + if (pceltFetched != 0) + { + *pceltFetched = celtFetched; + } + + return hr; +} + + +HRESULT __stdcall IEnumSTATPROPSTG_Next_Stub( + IEnumSTATPROPSTG __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ STATPROPSTG __RPC_FAR *rgelt, + /* [out] */ ULONG __RPC_FAR *pceltFetched) +{ + return This->lpVtbl->Next(This, celt, rgelt, pceltFetched); +} + +HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Proxy( + IEnumSTATPROPSETSTG __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [out] */ STATPROPSETSTG __RPC_FAR *rgelt, + /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched) +{ + HRESULT hr; + ULONG celtFetched = 0; + + hr = IEnumSTATPROPSETSTG_RemoteNext_Proxy(This, celt, rgelt, &celtFetched); + + if (pceltFetched != 0) + { + *pceltFetched = celtFetched; + } + + return hr; +} + + +HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Stub( + IEnumSTATPROPSETSTG __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ STATPROPSETSTG __RPC_FAR *rgelt, + /* [out] */ ULONG __RPC_FAR *pceltFetched) +{ + return This->lpVtbl->Next(This, celt, rgelt, pceltFetched); +} +#endif + + +HRESULT __stdcall IEnumSTATDIR_Next_Proxy( + IEnumSTATDIR __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [out] */ STATDIR __RPC_FAR *rgelt, + /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched) +{ + HRESULT hr; + ULONG celtFetched = 0; + + hr = IEnumSTATDIR_RemoteNext_Proxy(This, celt, rgelt, &celtFetched); + + if (pceltFetched != 0) + { + *pceltFetched = celtFetched; + } + + return hr; +} + + +HRESULT __stdcall IEnumSTATDIR_Next_Stub( + IEnumSTATDIR __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ STATDIR __RPC_FAR *rgelt, + /* [out] */ ULONG __RPC_FAR *pceltFetched) +{ + return This->lpVtbl->Next(This, celt, rgelt, pceltFetched); +} + +HRESULT __stdcall IDirectory_CreateElement_Proxy (IDirectory * This, + /* [in] */ const WCHAR * pwcsName, + /* [in] */ STGCREATE * pStgCreate, + /* [in] */ STGOPEN * pStgOpen, + /* [in] */ REFIID riid, + /* [out] */ void ** ppObjectOpen) +{ + HRESULT hr; + if (ppObjectOpen) *ppObjectOpen = 0; + hr = IDirectory_RemoteCreateElement_Proxy (This, + pwcsName, pStgCreate, + pStgOpen, riid, (IUnknown **)ppObjectOpen); + return hr; +} + +HRESULT __stdcall IDirectory_CreateElement_Stub (IDirectory *This, + /* [in] */ const WCHAR * pwcsName, + /* [in] */ STGCREATE * pStgCreate, + /* [in] */ STGOPEN * pStgOpen, + /* [in] */ REFIID riid, + /* [out, iid_is(riid)] */ IUnknown ** ppObjectOpen) +{ + + HRESULT hr = This->lpVtbl->CreateElement(This, pwcsName, pStgCreate, + pStgOpen, riid, ppObjectOpen); + if (FAILED(hr)) + { + // ASSERT(*ppObjectOpen == 0); + *ppObjectOpen = 0; // in case we have a misbehaved server + } + return hr; +} + +HRESULT __stdcall IDirectory_OpenElement_Proxy (IDirectory *This, + /* [in] */ const WCHAR *pwcsName, + /* [in] */ STGOPEN * pStgOpen, + /* [in] */ REFIID riid, + /* [out] */ STGFMT * pStgfmt, + /* [out] */ void ** ppObjectOpen) +{ + HRESULT hr; + if (ppObjectOpen) *ppObjectOpen = 0; + hr = IDirectory_RemoteOpenElement_Proxy (This, + pwcsName, pStgOpen, riid, pStgfmt, (IUnknown **)ppObjectOpen); + return hr; +} + +HRESULT __stdcall IDirectory_OpenElement_Stub (IDirectory *This, + /* [in] */ const WCHAR *pwcsName, + /* [in] */ STGOPEN * pStgOpen, + /* [in] */ REFIID riid, + /* [out] */ STGFMT * pStgfmt, + /* [out, iid_is(riid)] */ IUnknown ** ppObjectOpen) +{ + HRESULT hr = This->lpVtbl->OpenElement(This, pwcsName, + pStgOpen, riid, pStgfmt, ppObjectOpen); + if (FAILED(hr)) + { + //ASSERT(*ppObjectOpen == 0); + *ppObjectOpen = 0; // in case we have a misbehaved server + } + return hr; +} + + + +//Transactioning interfaces + +HRESULT __stdcall IEnumTransaction_Next_Proxy( + IEnumTransaction __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [out] */ ITransaction __RPC_FAR **rgelt, + /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched) +{ + HRESULT hr; + ULONG celtFetched = 0; + + hr = IEnumTransaction_RemoteNext_Proxy(This, celt, rgelt, &celtFetched); + + if (pceltFetched != 0) + { + *pceltFetched = celtFetched; + } + + return hr; +} + +HRESULT __stdcall IEnumTransaction_Next_Stub( + IEnumTransaction __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ ITransaction __RPC_FAR **rgelt, + /* [out] */ ULONG __RPC_FAR *pceltFetched) +{ + return This->lpVtbl->Next(This, celt, rgelt, pceltFetched); +} + + + +HRESULT __stdcall IEnumXACTRE_Next_Proxy( + IEnumXACTRE __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [out] */ XACTRE __RPC_FAR *rgelt, + /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched) +{ + HRESULT hr; + ULONG celtFetched = 0; + + hr = IEnumXACTRE_RemoteNext_Proxy(This, celt, rgelt, &celtFetched); + + if (pceltFetched != 0) + { + *pceltFetched = celtFetched; + } + + return hr; +} + +HRESULT __stdcall IEnumXACTRE_Next_Stub( + IEnumXACTRE __RPC_FAR * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ XACTRE __RPC_FAR *rgelt, + /* [out] */ ULONG __RPC_FAR *pceltFetched) +{ + return This->lpVtbl->Next(This, celt, rgelt, pceltFetched); +} + + + +HRESULT __stdcall ITransactionImportWhereabouts_GetWhereabouts_Proxy( + ITransactionImportWhereabouts __RPC_FAR * This, + /* [in] */ ULONG cbWhereabouts, + /* [out] */ BYTE __RPC_FAR *rgbWhereabouts, + /* [unique][out][in] */ ULONG __RPC_FAR *pcbUsed) +{ + HRESULT hr; + ULONG cbUsed = 0; + + hr = ITransactionImportWhereabouts_RemoteGetWhereabouts_Proxy( + This, + &cbUsed, + cbWhereabouts, + rgbWhereabouts); + + if (pcbUsed != 0) + { + *pcbUsed = cbUsed; + } + + return hr; +} + +HRESULT __stdcall ITransactionImportWhereabouts_GetWhereabouts_Stub( + ITransactionImportWhereabouts __RPC_FAR * This, + /* [out] */ ULONG __RPC_FAR *pcbUsed, + /* [in] */ ULONG cbWhereabouts, + /* [length_is][size_is][out] */ BYTE __RPC_FAR *rgbWhereabouts) +{ + return This->lpVtbl->GetWhereabouts(This, + cbWhereabouts, + rgbWhereabouts, + pcbUsed); +} + + + +HRESULT __stdcall ITransactionExport_GetTransactionCookie_Proxy( + ITransactionExport __RPC_FAR * This, + /* [in] */ IUnknown __RPC_FAR *punkTransaction, + /* [in] */ ULONG cbTransactionCookie, + /* [out] */ BYTE __RPC_FAR *rgbTransactionCookie, + /* [unique][out][in] */ ULONG __RPC_FAR *pcbUsed) +{ + HRESULT hr; + ULONG cbUsed = 0; + + hr = ITransactionExport_RemoteGetTransactionCookie_Proxy( + This, + punkTransaction, + &cbUsed, + cbTransactionCookie, + rgbTransactionCookie); + + if (pcbUsed != 0) + { + *pcbUsed = cbUsed; + } + + return hr; +} + +HRESULT __stdcall ITransactionExport_GetTransactionCookie_Stub( + ITransactionExport __RPC_FAR * This, + /* [in] */ IUnknown __RPC_FAR *punkTransaction, + /* [out] */ ULONG __RPC_FAR *pcbUsed, + /* [in] */ ULONG cbTransactionCookie, + /* [length_is][size_is][out] */ BYTE __RPC_FAR *rgbTransactionCookie) +{ + return This->lpVtbl->GetTransactionCookie(This, + punkTransaction, + cbTransactionCookie, + rgbTransactionCookie, + pcbUsed); +} diff --git a/private/types2/proxy/proxy/makefile b/private/types2/proxy/proxy/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/proxy/proxy/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/proxy/proxy/persist.old b/private/types2/proxy/proxy/persist.old new file mode 100644 index 000000000..2d6450a19 --- /dev/null +++ b/private/types2/proxy/proxy/persist.old @@ -0,0 +1,194 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 - 1993. +// +// File: persist.c +// +// Contents: manually pasted-in implementation of IPersist +// marshalling code. BUGBUG owned by vibhasc/MIDL. +// +// Functions: +// +// History: 7-25-94 ErikGav Created +// +//---------------------------------------------------------------------------- + +//#include "rpcproxy.h" + +extern const MIDL_FORMAT_STRING __MIDLFormatString; + +extern const MIDL_FORMAT_STRING __MIDLProcFormatString; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IPersist_ServerInfo; + +#pragma code_seg(".orpc") +HRESULT __stdcall IPersist_GetClassID_Proxy( + IPersist __RPC_FAR * This, + /* [out] */ CLSID __RPC_FAR *pClassID) +{ +CLIENT_CALL_RETURN _RetVal; + + +#ifdef _ALPHA_ + va_list vlist; +#endif + +#ifdef _ALPHA_ + va_start(vlist,pClassID); + _RetVal = NdrClientCall( + ( PMIDL_STUB_DESC )&Object_StubDesc, + (PFORMAT_STRING) &__MIDLProcFormatString.Format[0], + vlist.a0); +#else + _RetVal = NdrClientCall( + ( PMIDL_STUB_DESC )&Object_StubDesc, + (PFORMAT_STRING) &__MIDLProcFormatString.Format[0], + ( unsigned char __RPC_FAR * )&This); +#endif + return ( HRESULT )_RetVal.Simple; + +} + + +static const MIDL_STUB_DESC Object_StubDesc = + { + 0, + NdrOleAllocate, + NdrOleFree, + 0, + 0, + 0, + 0, + 0, + __MIDLFormatString.Format, + 0, /* -error bounds_check flag */ + 0x10001, /* Ndr library version */ + 0, /* Reserved */ + 0, /* Reserved */ + 0 /* Reserved */ + }; + +static const unsigned short IPersist_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 0 + }; + +static const MIDL_SERVER_INFO IPersist_ServerInfo = + { + &Object_StubDesc, + 0, + __MIDLProcFormatString.Format, + IPersist_FormatStringOffsetTable, + 0 + }; + + +const CInterfaceProxyVtbl _IPersistProxyVtbl = +{ + &IID_IPersist, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy, + IPersist_GetClassID_Proxy +}; +const CInterfaceStubVtbl _IPersistStubVtbl = +{ + &IID_IPersist, + &IPersist_ServerInfo, + 4, + 0, /* pure interpreted */ + CStdStubBuffer_QueryInterface, + CStdStubBuffer_AddRef, + CStdStubBuffer_Release, + CStdStubBuffer_Connect, + CStdStubBuffer_Disconnect, + CStdStubBuffer_Invoke, + CStdStubBuffer_IsIIDSupported, + CStdStubBuffer_CountRefs, + CStdStubBuffer_DebugServerQueryInterface, + CStdStubBuffer_DebugServerRelease +}; + +static const MIDL_FORMAT_STRING __MIDLProcFormatString = + { + 0, + { + 0x33, /* FC_AUTO_HANDLE */ + 0x44, /* 68 */ +/* 2 */ 0x3, 0x0, /* 3 */ +#ifndef _ALPHA_ +/* 4 */ 0xc, 0x0, /* Stack offset= 12 */ +#else + 0x18, 0x0, /* Stack offset= 24 */ +#endif +/* 6 */ + 0x51, /* FC_OUT_PARAM */ + 0x1, /* 1 */ +/* 8 */ 0x0, 0x0, /* Type Offset=0 */ +/* 10 */ 0x53, /* FC_RETURN_PARAM_BASETYPE */ + 0x8, /* FC_LONG */ + + 0x0 + } + }; + +static const MIDL_FORMAT_STRING __MIDLFormatString = + { + 0, + { + 0x11, 0x0, /* FC_RP */ +/* 2 */ 0x8, 0x0, /* Offset= 8 (10) */ +/* 4 */ + 0x1d, /* FC_SMFARRAY */ + 0x0, /* 0 */ +/* 6 */ 0x8, 0x0, /* 8 */ +/* 8 */ 0x2, /* FC_CHAR */ + 0x5b, /* FC_END */ +/* 10 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 12 */ 0x10, 0x0, /* 16 */ +/* 14 */ 0x8, /* FC_LONG */ + 0x6, /* FC_SHORT */ +/* 16 */ 0x6, /* FC_SHORT */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 18 */ 0x0, /* 0 */ + 0xf1, 0xff, /* Offset= -15 (4) */ + 0x5b, /* FC_END */ + + 0x0 + } + }; + +const CInterfaceProxyVtbl * _prsist_ProxyVtblList[] = +{ + ( CInterfaceProxyVtbl *) &_IPersistProxyVtbl, + 0 +}; + +const CInterfaceStubVtbl * _prsist_StubVtblList[] = +{ + ( CInterfaceStubVtbl *) &_IPersistStubVtbl, + 0 +}; + +PCInterfaceName _prsist_InterfaceNamesList[] = +{ + "IPersist", + 0 +}; + +const ExtendedProxyFileInfo prsist_ProxyFileInfo = +{ + (PCInterfaceProxyVtblList *) & _prsist_ProxyVtblList, + (PCInterfaceStubVtblList *) & _prsist_StubVtblList, + (const PCInterfaceName * ) & _prsist_InterfaceNamesList +}; diff --git a/private/types2/proxy/proxy/proxy.def b/private/types2/proxy/proxy/proxy.def new file mode 100644 index 000000000..8a22f0109 --- /dev/null +++ b/private/types2/proxy/proxy/proxy.def @@ -0,0 +1,7 @@ +LIBRARY PROXY + +DESCRIPTION 'Microsoft (R) ShamuOLE Proxy/Stub DLL 1.00' + +EXPORTS + DllGetClassObject @1 + DllCanUnloadNow @2 diff --git a/private/types2/proxy/proxy/sources b/private/types2/proxy/proxy/sources new file mode 100644 index 000000000..33ef2de58 --- /dev/null +++ b/private/types2/proxy/proxy/sources @@ -0,0 +1,50 @@ +CAIRO_PRODUCT=1 +NO_CAIRO_LIBS=1 +USE_CRTDLL=1 + +MAJORCOMP=types2 +MINORCOMP=proxy +TARGETNAME=proxy + +DLLENTRY=_DllMainCRTStartup +DLLDEF=obj\*\proxy.def + +TARGETPATH=$(BASEDIR)\public\sdk\lib\cairo +TARGETTYPE=DYNLINK + +TARGETLIBS= \ + $(BASEDIR)\public\sdk\lib\*\rpcrt4.lib \ + $(BASEDIR)\public\sdk\lib\*\kernel32.lib \ + $(BASEDIR)\public\sdk\lib\*\ole32.lib \ + $(BASEDIR)\public\sdk\lib\*\gdi32p.lib \ + $(BASEDIR)\public\sdk\lib\*\oleaut32.lib \ + $(BASEDIR)\public\sdk\lib\*\wdt32.lib + + +LINKLIBS= \ + $(BASEDIR)\public\sdk\lib\cairo\*\coruuid.lib \ + $(BASEDIR)\public\sdk\lib\*\uuid.lib + +INCLUDES=..\..\h + +CONDITIONAL_INCLUDES= olecairo.h + +SYNCHRONIZE_BLOCK=1 +SYNCHRONIZE_DRAIN=1 + +# note that transmit.c includes the other C files. this is a hacky way +# to get fast builds without generating a precomp header + +# +# allerror.rc and all files ending in _p.c are generated by MIDL or MC +# +SOURCES= \ + allerror.rc \ + oleext_p.c \ + transmit.c \ + query_p.c \ + sysmgmt_p.c \ + dlldata.c \ + oledb_p.c \ + transact_p.c \ + catstg_p.c diff --git a/private/types2/proxy/proxy/stdrpc.hxx b/private/types2/proxy/proxy/stdrpc.hxx new file mode 100644 index 000000000..fccdb0e1b --- /dev/null +++ b/private/types2/proxy/proxy/stdrpc.hxx @@ -0,0 +1,70 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: stdrpc.hxx +// +// Contents: Private header file for building interface proxies and stubs. +// +// Classes: CStreamOnMessage +// +// Functions: +// +// History: 4-Jul-93 ShannonC Created +// 3-Aug-93 ShannonC Changes for NT511 and IDispatch support. +// 10-Oct-93 ShannonC Changed to new IRpcChannelBuffer interface. +// 22-Sep-94 MikeSe Moved from CINC and simplified. +// 16-Jan-95 DaveStr Copied from cairole\oleprx32\proxy +// See comments in idiffprx.cxx +// +//-------------------------------------------------------------------------- +#ifndef __STDRPC_HXX__ +#define __STDRPC_HXX__ + +#include <objidl.h> + +#define _OLE2ANAC_H_ +#include <windows.h> + +class CStreamOnMessage : public IStream +{ + + public: + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID FAR* ppvObj); + virtual ULONG STDMETHODCALLTYPE AddRef(); + virtual ULONG STDMETHODCALLTYPE Release(); + virtual HRESULT STDMETHODCALLTYPE Read(VOID HUGEP *pv, ULONG cb, ULONG *pcbRead); + virtual HRESULT STDMETHODCALLTYPE Write(VOID const HUGEP *pv, + ULONG cb, + ULONG *pcbWritten) ; + virtual HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER dlibMove, + DWORD dwOrigin, + ULARGE_INTEGER *plibNewPosition) ; + virtual HRESULT STDMETHODCALLTYPE SetSize(ULARGE_INTEGER libNewSize) ; + virtual HRESULT STDMETHODCALLTYPE CopyTo(IStream *pstm, + ULARGE_INTEGER cb, + ULARGE_INTEGER *pcbRead, + ULARGE_INTEGER *pcbWritten) ; + virtual HRESULT STDMETHODCALLTYPE Commit(DWORD grfCommitFlags) ; + virtual HRESULT STDMETHODCALLTYPE Revert(); + virtual HRESULT STDMETHODCALLTYPE LockRegion(ULARGE_INTEGER libOffset, + ULARGE_INTEGER cb, + DWORD dwLockType) ; + virtual HRESULT STDMETHODCALLTYPE UnlockRegion(ULARGE_INTEGER libOffset, + ULARGE_INTEGER cb, + DWORD dwLockType) ; + virtual HRESULT STDMETHODCALLTYPE Stat(STATSTG *pstatstg, DWORD grfStatFlag) ; + virtual HRESULT STDMETHODCALLTYPE Clone(IStream * *ppstm) ; + + CStreamOnMessage(unsigned char **ppMessageBuffer); + CStreamOnMessage(unsigned char **ppMessageBuffer, unsigned long cbMax); + + unsigned char *pStartOfStream; + unsigned char **ppBuffer; + unsigned long cbMaxStreamLength; + ULONG ref_count; +}; + +#endif //__STDRPC_HXX__ + diff --git a/private/types2/proxy/proxy/transmit.c b/private/types2/proxy/proxy/transmit.c new file mode 100644 index 000000000..3069cdf8a --- /dev/null +++ b/private/types2/proxy/proxy/transmit.c @@ -0,0 +1,23 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 - 1993. +// +// File: transmit.c +// +// Contents: hacky, confusing typedef's, MIDL style +// also includes other files (ugly, but, hey this is types +// and it's faster than a precomp header...) +// +// History: 7-25-94 ErikGav Created +// +//---------------------------------------------------------------------------- +#include "rpcproxy.h" +#include "objbase.h" + +#include "oleext.h" +#include "query.h" +#include "oledb.h" +#include "sysmgmt.h" + +#include "call_as.c" diff --git a/private/types2/proxy/proxy/xmit.h b/private/types2/proxy/proxy/xmit.h new file mode 100644 index 000000000..e15475f48 --- /dev/null +++ b/private/types2/proxy/proxy/xmit.h @@ -0,0 +1,49 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1994. +// +// File: transmit.h +// +// Contents: Function prototypes for STGMEDIUM marshalling. +// +// Functions: STGMEDIUM_to_xmit +// STGMEDIUM_from_xmit +// STGMEDIUM_free_inst +// +// History: May-10-94 ShannonC Created +// Jan-16-95 DaveStr Copied from cairole\oleprx32\proxy\transmit.h +// See comments in idiffprx.cxx +// +//-------------------------------------------------------------------------- +EXTERN_C void __RPC_API STGMEDIUM_to_xmit (STGMEDIUM *pinst, RemSTGMEDIUM **ppxmit); +EXTERN_C void __RPC_API STGMEDIUM_from_xmit (RemSTGMEDIUM __RPC_FAR *pxmit, STGMEDIUM __RPC_FAR *pinst); +EXTERN_C void __RPC_API STGMEDIUM_free_inst(STGMEDIUM *pinst); + +EXTERN_C void __RPC_API HGLOBAL_to_xmit (HGLOBAL __RPC_FAR *, RemHGLOBAL __RPC_FAR * __RPC_FAR *); +EXTERN_C void __RPC_API HGLOBAL_from_xmit (RemHGLOBAL __RPC_FAR *, HGLOBAL __RPC_FAR *); +EXTERN_C void __RPC_API HGLOBAL_free_inst (HGLOBAL __RPC_FAR *); +EXTERN_C void __RPC_API HGLOBAL_free_xmit (RemHGLOBAL __RPC_FAR *); + +EXTERN_C void __RPC_API HBITMAP_to_xmit (HBITMAP __RPC_FAR *, RemHBITMAP __RPC_FAR * __RPC_FAR *); +EXTERN_C void __RPC_API HBITMAP_from_xmit (RemHBITMAP __RPC_FAR *, HBITMAP __RPC_FAR *); +EXTERN_C void __RPC_API HBITMAP_free_inst (HBITMAP __RPC_FAR *); +EXTERN_C void __RPC_API HBITMAP_free_xmit (RemHBITMAP __RPC_FAR *); + +EXTERN_C void __RPC_API HPALETTE_to_xmit (HPALETTE __RPC_FAR *, RemHPALETTE __RPC_FAR * __RPC_FAR *); +EXTERN_C void __RPC_API HPALETTE_from_xmit (RemHPALETTE __RPC_FAR *, HPALETTE __RPC_FAR *); +EXTERN_C void __RPC_API HPALETTE_free_inst (HPALETTE __RPC_FAR *); +EXTERN_C void __RPC_API HPALETTE_free_xmit (RemHPALETTE __RPC_FAR *); + +EXTERN_C void __RPC_API HMETAFILEPICT_to_xmit (HMETAFILEPICT __RPC_FAR *, RemHMETAFILEPICT __RPC_FAR * __RPC_FAR *); +EXTERN_C void __RPC_API HMETAFILEPICT_from_xmit (RemHMETAFILEPICT __RPC_FAR *, HMETAFILEPICT __RPC_FAR *); +EXTERN_C void __RPC_API HMETAFILEPICT_free_inst (HMETAFILEPICT __RPC_FAR *); +EXTERN_C void __RPC_API HMETAFILEPICT_free_xmit (RemHMETAFILEPICT __RPC_FAR *); + +EXTERN_C void __RPC_API HENHMETAFILE_to_xmit (HENHMETAFILE __RPC_FAR *, RemHENHMETAFILE __RPC_FAR * __RPC_FAR *); +EXTERN_C void __RPC_API HENHMETAFILE_from_xmit (RemHENHMETAFILE __RPC_FAR *, HENHMETAFILE __RPC_FAR *); +EXTERN_C void __RPC_API HENHMETAFILE_free_inst (HENHMETAFILE __RPC_FAR *); +EXTERN_C void __RPC_API HENHMETAFILE_free_xmit (RemHENHMETAFILE __RPC_FAR *); + + + diff --git a/private/types2/proxy/uuid/makefile b/private/types2/proxy/uuid/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/proxy/uuid/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/proxy/uuid/oledbdat.c b/private/types2/proxy/uuid/oledbdat.c new file mode 100644 index 000000000..ca38e72b2 --- /dev/null +++ b/private/types2/proxy/uuid/oledbdat.c @@ -0,0 +1,8 @@ +// +// Define external constants for OLE-DB +// + +#undef __DBS_H__ +#define DBINITCONSTANTS + +#include <oledb.h> diff --git a/private/types2/proxy/uuid/sources b/private/types2/proxy/uuid/sources new file mode 100644 index 000000000..df8e56d45 --- /dev/null +++ b/private/types2/proxy/uuid/sources @@ -0,0 +1,30 @@ +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1992 - 1993. +# +# File: sources +# +# History: 02-Aug-94 LyleC Created +# +#---------------------------------------------------------------------------- + +MAJORCOMP=proxy +MINORCOMP=uuid +TARGETNAME=coruuid +TARGETPATH=$(BASEDIR)\public\sdk\lib\cairo +TARGETTYPE=LIBRARY + +# +# All files listed below (except oledbdat.c) are generated by MIDL +# +SOURCES= oledbdat.c \ + oleext_i.c \ + query_i.c \ + oledb_i.c \ + sysmgmt_i.c \ + transact_i.c\ + catstg_i.c + +SYNCHRONIZE_BLOCK=1 +SYNCHRONIZE_DRAIN=1 diff --git a/private/types2/query/csstg.idl b/private/types2/query/csstg.idl new file mode 100644 index 000000000..5e30fa5be --- /dev/null +++ b/private/types2/query/csstg.idl @@ -0,0 +1,38 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: csstg.idl +// +// Contents: ICatalogStorage +// +// History: Oct-93 DaveMont Created +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(00000014-0000-0008-c000-000000000099) +interface ICatalogStorage : IUnknown +{ + HRESULT GetSCPath + ( + [in] WCHAR ** pwszPath + ); + + HRESULT SetRows + ( + [in] COLUMNSET * pcol, + [in] LONG * pwids, + [in] ULONG crows, + [in] TABLEROW ** prow + ); + + HRESULT DeleteRow + ( + [in] ULONG wid + ); +} + + diff --git a/private/types2/query/iajack.idl b/private/types2/query/iajack.idl new file mode 100644 index 000000000..317fabe8b --- /dev/null +++ b/private/types2/query/iajack.idl @@ -0,0 +1,28 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: ITable.idl +// +// Contents: ITable interface definition +// +// History: 29-Jul-93 KyleP Created from Ole2 .h file +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(00000205-0000-0008-C000-000000000046) +interface IAsynchJack : IUnknown +{ + SCODE GetStatus( [out] ULONG * pdwStatus, + [out] ULONG * pulPctDone ); + + SCODE Suspend(); + + SCODE Resume(); + + SCODE Abort(); +} + diff --git a/private/types2/query/iquery.idl b/private/types2/query/iquery.idl new file mode 100644 index 000000000..2d53250b3 --- /dev/null +++ b/private/types2/query/iquery.idl @@ -0,0 +1,56 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: IQuery.idl +// +// Contents: IOldQuery interface definition +// +// Notes: This interface is scaffolding, pending the existence +// of the OLE DB query interface implementation. +// +// History: 29-Jul-93 KyleP Created from Ole2 .h file +// 21 Jun 94 Alanw Added ExecuteQuery method +// 19-Jan-95 DwightKr Added eSequentialCursor flag +// 17-Mar-95 DLee Added categorization / rowset count +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +//cpp_quote("#ifndef USE_NEW_IQUERY") +//cpp_quote("#define IQuery IOldQuery") +//cpp_quote("#define IID_IQuery IID_IOldQuery") +//cpp_quote("#endif // USE_NEW_IQUERY") + +// +// grFlags +// +cpp_quote("#define eSequentialCursor 0x01") +cpp_quote("#define eUseContentIndex 0x02") +cpp_quote("#define eDeferNonIndexedTrimming 0x04") +cpp_quote("#define eDontTimeoutQuery 0x08") + + +LOCAL_INTERFACE(00000200-0000-0008-C000-000000000046) +interface IOldQuery : IUnknown +{ + SCODE ExecuteQuery( [in] ULONG ulRecursion, + [in] RESTRICTION * pRestriction, + [in] COLUMNSET * pColumns, + [in] SORTSET * pSort, + [in] DWORD grFlags, + [in] REFIID riid, + [out] IUnknown ** ppTable); + + SCODE ExecQuery( [in] ULONG ulRecursion, + [in] RESTRICTION * pRestriction, + [in] COLUMNSET * pColumns, + [in] SORTSET * pSort, + [in] DWORD grFlags, + [in] REFIID riid, + [in] CATEGORIZATIONSET * pCategorize, + [out] ULONG * pcRowsets, + [out] IUnknown ** ppTable); +} diff --git a/private/types2/query/isearch.idl b/private/types2/query/isearch.idl new file mode 100644 index 000000000..ac4057841 --- /dev/null +++ b/private/types2/query/isearch.idl @@ -0,0 +1,29 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: isearch.idl +// +// Contents: ISearch interface definition +// +// History: 02-Dec-94 BartoszM Created +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +LOCAL_INTERFACE(ed8ce7e0-106c-11ce-84e2-00aa004b9986) +interface ISearch : IUnknown +{ + SCODE Init( [in] IFilter * pflt ); + + SCODE NextHitMoniker( + [in, out] ULONG * pcMnk, + [out, size_is(*pcMnk)] IMoniker *** papMnk ); + + SCODE NextHitOffset( + [in, out] ULONG * pcRegion, + [out, size_is(*pcRegion)] FILTERREGION ** paRegion ); + +} + diff --git a/private/types2/query/istem.idl b/private/types2/query/istem.idl new file mode 100644 index 000000000..7508079bc --- /dev/null +++ b/private/types2/query/istem.idl @@ -0,0 +1,29 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1995. +// +// File: istem.idl +// +// Contents: IStemmer interface definition +// +// History: 24-Apr-95 SitaramR Created +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(efbaf140-7f42-11ce-be57-00aa0051fe20) +interface IStemmer: IUnknown +{ + SCODE Init( [in] ULONG ulMaxTokenSize, + [out] BOOL * pfLicense ); + + SCODE StemWord( [in] WCHAR const * pwcInBuf, + [in] ULONG cwc, + [in] IStemSink * pStemSink ); + + SCODE GetLicenseToUse( [out, string] WCHAR const ** ppwcsLicense ); +} + + diff --git a/private/types2/query/itable.idl b/private/types2/query/itable.idl new file mode 100644 index 000000000..63ac150f0 --- /dev/null +++ b/private/types2/query/itable.idl @@ -0,0 +1,56 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: ITable.idl +// +// Contents: ITable interface definition +// +// History: 29-Jul-93 KyleP Created from Ole2 .h file +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(00000201-0000-0008-C000-000000000046) +interface ITable : IUnknown +{ + // + // IReadProperty is not suppored yet, put it because ITable uses + // IReadProperty in the GetCursor method. + // + + // BUGBGU, to work around midl; + + typedef DWORD IReadProperty; + + // + // ITable methods. + // + + SCODE AddColumns( [in] ULONG cCol, + [in, size_is(cCol)] FULLPROPSPEC * aCol ); + + SCODE RemoveColumns( [in] ULONG cCol, + [in, size_is(cCol)] FULLPROPSPEC * aCol ); + + SCODE GetColumns( [out] ULONG * pcCol, + [out/*, size_is(*pcCol)*/] FULLPROPSPEC ** paCol ); + + SCODE GetRows( [in] ULONG cRowsRequested, + [out] ULONG * pcRowsReturned, + [out/*, size_is(*pcRowsReturned)*/] TABLEROW ** prgRows ); + + SCODE GetCursor(IReadProperty ** ppCursor); + + SCODE Count( [out] ULONG * pulCount ); + + SCODE GetPosition( [out] ULONG * pulRowNumber ); + + SCODE SeekRow( [in] ULONG ulBmkOrigin, + [in] LONG lRowCount ); + + SCODE Refresh( [out] TABLEDELTA ** ppTableDelta ); +} + diff --git a/private/types2/query/itabls.idl b/private/types2/query/itabls.idl new file mode 100644 index 000000000..aed9446c9 --- /dev/null +++ b/private/types2/query/itabls.idl @@ -0,0 +1,65 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: ITableS.itf +// +// Contents: Pickle-able structures used in ITable, et. al. +// +// History: 29-Mar-93 KyleP Created +// +//-------------------------------------------------------------------------- + +[ + uuid(946486E0-7349-101A-9F40-00AA002FC89B), + pointer_default(unique) +] +interface ITableStructures +{ +// +// TABLEROW is used to return rows from the table +// + +typedef struct tagTABLEROW +{ + ULONG cValues; + [size_is(cValues)] PROPVARIANT * aValue; +} TABLEROW; + +// +// CHANGEDRUN, RUNSET and TABLEDELTA describe updates to the table since +// the last call to GetRows +// + +typedef struct tagCHANGEDRUN +{ + ULONG ulFirstRowNum; + ULONG ulRunLength; +} CHANGEDRUN; + +typedef struct tagRUNSET +{ + ULONG cValues; + [size_is(cValues)] CHANGEDRUN * pRuns; +} RUNSET; + +typedef struct tagTABLEDELTA +{ + RUNSET Deleted; + RUNSET Added; + RUNSET Changed; + ULONG cValues; + [size_is(cValues)] ULONG * pDeletedBmk; +} TABLEDELTA; + +// +// Special bookmarks +// + +const ULONG BMK_CURRENT = 0; // Current row +const ULONG BMK_BEGINNING = 1; // Before first row +const ULONG BMK_END = 2; // After last row + + +} diff --git a/private/types2/query/makefile b/private/types2/query/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/query/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/query/makefile.inc b/private/types2/query/makefile.inc new file mode 100644 index 000000000..72fd58e3c --- /dev/null +++ b/private/types2/query/makefile.inc @@ -0,0 +1,2 @@ +filter.idl:..\..\types\filter\idl\filter.idl + copy $** $@ diff --git a/private/types2/query/psink.idl b/private/types2/query/psink.idl new file mode 100644 index 000000000..c621538de --- /dev/null +++ b/private/types2/query/psink.idl @@ -0,0 +1,30 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: PSink.idl +// +// Contents: IPhraseSink interface definition +// +// History: 10-Nov-93 AmyA Created +// 08-Apr-94 KyleP Sync with spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(CC906FF0-C058-101A-B554-08002B33B0E6) +interface IPhraseSink : IUnknown +{ + SCODE PutSmallPhrase( [in, size_is(cwcNoun)] WCHAR const * pwcNoun, + [in] ULONG cwcNoun, + [in, size_is(cwcModifier)] WCHAR const * pwcModifier, + [in] ULONG cwcModifier, + [in] ULONG ulAttachmentType ); + + SCODE PutPhrase( [in, size_is(cwcPhrase)] WCHAR const * pwcPhrase, + [in] ULONG cwcPhrase ); +} + + diff --git a/private/types2/query/query.idl b/private/types2/query/query.idl new file mode 100644 index 000000000..21332f165 --- /dev/null +++ b/private/types2/query/query.idl @@ -0,0 +1,29 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 - 1993. +// +// File: query.idl +// +// Contents: master idl file for public interfaces +// +// History: 7-18-94 ErikGav Created +// +//---------------------------------------------------------------------------- + +#ifdef IMPORT_IDL_DEPENDENTS +import "oaidl.idl"; +import "filter.idl"; +#endif + +#include "querys.idl" +#include "isearch.idl" +#include "iquery.idl" +#include "psink.idl" +#include "wsink.idl" +#include "wbreak.idl" +#include "stemsink.idl" +#include "istem.idl" +#include "rststa.idl" + + diff --git a/private/types2/query/querys.idl b/private/types2/query/querys.idl new file mode 100644 index 000000000..6e0fba93b --- /dev/null +++ b/private/types2/query/querys.idl @@ -0,0 +1,424 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: QueryS.idl +// +// Contents: Pickle-able structures used in IQuery, et. al. +// +// History: 29-Mar-93 KyleP Created +// +//-------------------------------------------------------------------------- + + +[ uuid(E3971E54-4D6E-101A-971D-08002B2ECDA9), + pointer_default(unique) +] +interface IQueryStructures +{ +// +// Property set for dynamic query properties +// + +cpp_quote("#define PSGUID_QUERY { 0x49691C90, \\") +cpp_quote(" 0x7E17, 0x101A, \\") +cpp_quote(" 0xA9, 0x1C, 0x08, 0x00, 0x2B, \\") +cpp_quote(" 0x2E, 0xCD, 0xA9 } ") + +const DISPID DISPID_QUERY_RANKVECTOR = 2; +const DISPID DISPID_QUERY_RANK = 3; +const DISPID DISPID_QUERY_HITCOUNT = 4; +const DISPID DISPID_QUERY_WORKID = 5; +const DISPID DISPID_QUERY_ALL = 6; +const DISPID DISPID_QUERY_UNFILTERED = 7; +const DISPID DISPID_QUERY_REVNAME = 8; +const DISPID DISPID_QUERY_VIRTUALPATH = 9; +const DISPID DISPID_QUERY_LASTSEENTIME = 10; + +// +// NOTE: The number of query properties includes the seven above, +// plus 28 OLE-DB column IDs for pseudo-columns, plus eight +// OLE-DB bookmark columns (41 total). In addition, dispids +// always start at 2, a fact which is not taken into account in +// the mapping macros. Reserve a few more to +// allow for growth in the set of special columns. +// + +const ULONG CQUERYDISPIDS = 11; + +cpp_quote("#define PSGUID_QUERY_METADATA { 0x624C9360, \\") +cpp_quote(" 0x93D0, 0x11CF, \\") +cpp_quote(" 0xA7, 0x87, 0x00, 0x00, 0x4C, \\") +cpp_quote(" 0x75, 0x27, 0x52 } ") + +const DISPID DISPID_QUERY_METADATA_VROOTUSED = 2; +const DISPID DISPID_QUERY_METADATA_VROOTAUTOMATIC = 3; +const DISPID DISPID_QUERY_METADATA_VROOTMANUAL = 4; +const DISPID DISPID_QUERY_METADATA_PROPGUID = 5; +const DISPID DISPID_QUERY_METADATA_PROPDISPID = 6; +const DISPID DISPID_QUERY_METADATA_PROPNAME = 7; + +const ULONG CQUERYMETADISPIDS = 8; + +// +// Property set for OLE-DB bookmark properties +// + +// BUGBUG - this may someday be defined in oledb.h. see ole-db spec bug #1271 +cpp_quote("#define DBBMKGUID { 0xC8B52232L, \\") +cpp_quote(" 0x5CF3, 0x11CE, \\") +cpp_quote(" {0xAD, 0xE5, 0x00, 0xAA, 0x00, \\") +cpp_quote(" 0x44, 0x77, 0x3D } }") + +const DISPID PROPID_DBBMK_BOOKMARK = 2; +const DISPID PROPID_DBBMK_CHAPTER = 3; + +const ULONG CDBBMKDISPIDS = 8; + + +// BUGBUG - this may someday be defined in oledb.h. see ole-db spec bug #1271 +cpp_quote("#define DBSELFGUID {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}") +const DISPID PROPID_DBSELF_SELF = 2; +const ULONG CDBSELFDISPIDS = 8; + +const ULONG CDBCOLDISPIDS = 28; + + +// NOTE: CQUERYPROPERTY must be < sum of: +// CQUERYDISPIDS + CBQUERYMETADISPIDS + CDBBMKDISPIDS + CDBCOLDISPIDS + CDBSELFDISPIDS +// Warning: Changing this number can change the ondisk format of OFS and CI +const ULONG CQUERYPROPERTY = 64; + + +cpp_quote("#define PSGUID_CHARACTERIZATION { 0x560c36c0, \\") +cpp_quote(" 0x503a, 0x11cf, \\") +cpp_quote(" 0xba, 0xa1, 0x00, 0x00, \\") +cpp_quote(" 0x4c, 0x75, 0x2a, 0x9a } ") + +// +// Query flags +// + +const ULONG QUERY_SHALLOW = 0; // Recursion: shallow +const ULONG QUERY_DEEP = 1; // Recursion: deep + +const ULONG QUERY_PHYSICAL_PATH = 0; // Scoping: use physical path +const ULONG QUERY_VIRTUAL_PATH = 2; // Scoping: use virtual path + +const ULONG QUERY_VALIDBITS = 3; + +// +// Restriction structures +// +const ULONG RTNone = 0; +const ULONG RTAnd = 1; +const ULONG RTOr = 2; +const ULONG RTNot = 3; +const ULONG RTContent = 4; +const ULONG RTProperty = 5; +const ULONG RTProximity = 6; +const ULONG RTVector = 7; +const ULONG RTNatLanguage = 8; + +typedef struct tagRESTRICTION RESTRICTION; + +// +// Negation (NOT) Restriction +// + +typedef struct tagNOTRESTRICTION +{ + RESTRICTION * pRes; +} NOTRESTRICTION; + +// +// Node (AND/OR/PROXIMITY) Restriction +// + +typedef struct tagNODERESTRICTION +{ + ULONG cRes; + [ size_is(cRes) ] RESTRICTION ** paRes; + ULONG reserved; +} NODERESTRICTION; + +// +// Vector Restriction +// +// The vector restriction is similar to the OR restriction except +// that each branch of the vector can be individually weighted and +// a vector of ranks can be returned (the .RankVector property) +// where each element of the vector is the rank of the corresponding +// child restriction in the rank vector. +// +// Vector weights can have values between 0 and ulMaxRank (currently +// 100). They are effectively the numerator of a fraction. ulMaxRank +// is the denominator. +// +// Note that no query optimization/reorganization is performed below +// this level. +// +// The rank of a vector restriction may be computed in one of +// several ways. These are: +// +// +// MAX[ wi * ( MaxRank - ri ) ] +// VECTOR_RANK_MIN MaxRank - --------------------------------- +// MAX[wi] +// +// MAX[ wi * ri ] +// VECTOR_RANK_MAX ----------------- +// MAX[wi] +// +// n +// SUM ri * wi +// i=1 +// VECTOR_RANK_INNER ------------- +// n +// SUM wi +// i=1 +// +// n +// 2 * SUM ri * wi +// i=1 +// VECTOR_RANK_DICE -------------------- +// n 2 n 2 +// SUM ri + SUM wi +// i=1 i=1 +// +// n +// SUM ri * wi +// i=1 +// VECTOR_RANK_JACCARD --------------------------------- +// n 2 n 2 n +// SUM ri + SUM wi - SUM ri * wi +// i=1 i=1 i=1 +// +// +// * wi = Weight of term i, ri = rank of term i in a given document +// + +const ULONG VECTOR_RANK_MIN = 0; +const ULONG VECTOR_RANK_MAX = 1; +const ULONG VECTOR_RANK_INNER = 2; +const ULONG VECTOR_RANK_DICE = 3; +const ULONG VECTOR_RANK_JACCARD = 4; + +typedef struct tagVECTORRESTRICTION +{ + NODERESTRICTION Node; + ULONG RankMethod; +} VECTORRESTRICTION; + +// +// Content Restriction +// + +const ULONG FUZZY_EXACT = 0; +const ULONG FUZZY_PREFIXMATCH = 1; +const ULONG FUZZY_STEMMED = 2; + +typedef struct tagCONTENTRESTRICTION +{ + FULLPROPSPEC prop; // Property + [string] WCHAR * pwcsPhrase; // Content to search for + LCID lcid; // locale + ULONG ulFuzzyLevel; // Fuzzy search level. +} CONTENTRESTRICTION; + +// +// Natural Language Restriction +// + +typedef struct tagNATLANGUAGERESTRICTION +{ + FULLPROPSPEC prop; // Property + [string] WCHAR * pwcsPhrase; // Content to search for + LCID lcid; // locale +} NATLANGUAGERESTRICTION; + + +// +// Property Restriction +// + +const ULONG PRLT = 0; // < +const ULONG PRLE = 1; // <= +const ULONG PRGT = 2; // > +const ULONG PRGE = 3; // >= +const ULONG PREQ = 4; // == +const ULONG PRNE = 5; // != +const ULONG PRRE = 6; // LIKE (Regular expression) +const ULONG PRAllBits = 7; // (VAL & MASK) == MASK +const ULONG PRSomeBits = 8; // (VAL & MASK) != 0 +const ULONG PRAll = 0x100; // all elements of vector +const ULONG PRAny = 0x200; // any elements of vector + +typedef struct tagPROPERTYRESTRICTION +{ + ULONG rel; // Relation + FULLPROPSPEC prop; // Property + PROPVARIANT prval; // Constant value +} PROPERTYRESTRICTION; + + +// +// Base Restriction +// + +union _URes; + +struct tagRESTRICTION +{ + ULONG rt; // Restriction Type + ULONG weight; // Query Weight + + [ switch_type(ULONG), switch_is(rt) ] union _URes + { + [ case(RTAnd) ] NODERESTRICTION ar; + [ case(RTOr) ] NODERESTRICTION or; + [ case(RTProximity) ] NODERESTRICTION pxr; + [ case(RTVector) ] VECTORRESTRICTION vr; + [ case(RTNot) ] NOTRESTRICTION nr; + [ case(RTContent) ] CONTENTRESTRICTION cr; + [ case(RTNatLanguage) ] NATLANGUAGERESTRICTION nlr; + [ case(RTProperty) ] PROPERTYRESTRICTION pr; + [ default ] ; + } res; +}; + + +// +// Column descriptors. +// +// Each column represents a single property. A property is defined by +// a UUID for the property set and either a index (DISPID) or name +// to locate the property within the property set. +// +// + +typedef struct tagCOLUMNSET +{ + ULONG cCol; + [size_is(cCol)] FULLPROPSPEC * aCol; + +} COLUMNSET; + + +// +// Sort descriptors +// +// A sort is over a [sub] set of columns specified as return columns in +// the query. +// +// BUGBUG - this should go away and be replaced by DBSORTKEY. +// + +const ULONG QUERY_SORTASCEND = 0; +const ULONG QUERY_SORTDESCEND = 1; +const ULONG QUERY_SORTXASCEND = 2; +const ULONG QUERY_SORTXDESCEND = 3; +const ULONG QUERY_SORTDEFAULT = 4; + +typedef struct tagSORTKEY +{ + FULLPROPSPEC propColumn; + ULONG dwOrder; // Ascending/Descending + LCID locale; // +} SORTKEY; + +typedef struct tagSORTSET +{ + ULONG cCol; // Number of sort columns + [size_is(cCol)] SORTKEY * aCol; + +} SORTSET; + + +// +// Categorization descriptor +// +// Defines categorization of table. In IQuery this is just used as a +// hint, indicating this categorization is likely to be used. The +// column used for categorization is always the first uncategorized +// sort column, except when clustering is used. +// + +// +// Unique categorization. Each unique value forms a category. +// + +const ULONG CATEGORIZE_UNIQUE = 0; + +// +// Cluster categorization. Use Inference clustering. Number of +// clusters specified on entry. +// + +const ULONG CATEGORIZE_CLUSTER = 1; + +// +// Bucket categorization. Number of buckets and distribution of values +// into buckets is defined. +// + +const ULONG CATEGORIZE_BUCKETS = 2; + +const ULONG BUCKET_LINEAR = 0; +const ULONG BUCKET_EXPONENTIAL = 1; + +typedef struct tagBUCKETCATEGORIZE +{ + ULONG cBuckets; + ULONG Distribution; +} BUCKETCATEGORIZE; + +// +// Range categorization. Ranges are explicitly specified. +// The first range is from <minimum_value> to aRangeBegin[0] - <1 unit>. +// Next from aRangeBegin[0] to aRangeBegin[1] - <1 unit>, etc. +// The last range is from aRangeBegin[cRange-1] to <maximum_value>. +// There will be a total of cRange + 1 ranges. +// + + +const ULONG CATEGORIZE_RANGE = 3; + +typedef struct tagRANGECATEGORIZE +{ + ULONG cRange; + [size_is(cRange)] PROPVARIANT * aRangeBegin; +} RANGECATEGORIZE; + +typedef struct tagCATEGORIZATION +{ + ULONG ulCatType; + + [ switch_type(ULONG), switch_is( ulCatType ) ] union + { + [ case(CATEGORIZE_CLUSTER) ] ULONG cClusters; + [ case(CATEGORIZE_BUCKETS) ] BUCKETCATEGORIZE bucket; + [ case(CATEGORIZE_RANGE) ] RANGECATEGORIZE range; + [ case(CATEGORIZE_UNIQUE) ] ; + }; + + COLUMNSET csColumns; // columns that can be bound to for categorization +} CATEGORIZATION; + +typedef struct tagCATEGORIZATIONSET +{ + ULONG cCat; // Number of categorizations + [size_is(cCat)] CATEGORIZATION * aCat; + +} CATEGORIZATIONSET; + + +// Some other stuff, moved here from winnot.h [mikese] + +typedef unsigned long OCCURRENCE; + +const OCCURRENCE occInvalid = 0xFFFFFFFF; // Invalid Occurrence +const ULONG ulMaxRank = 1000; // Maximum Rank / Weight + +} diff --git a/private/types2/query/rststa.idl b/private/types2/query/rststa.idl new file mode 100644 index 000000000..f544ec32b --- /dev/null +++ b/private/types2/query/rststa.idl @@ -0,0 +1,102 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1995. +// +// File: rststa.idl +// +// Contents: Cairo private OLE DB interface definition +// +// History: 27 Sep 1995 AlanW Created +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" +// + + LOCAL_INTERFACE(a7ac77ed-f8d7-11ce-a798-0020f8008024) + +interface IRowsetQueryStatus : IUnknown { + +// +// Property which, when set, indicates that property value queries should +// use the content index for resolution, even if it is not up-to-date. +// +cpp_quote("#define DBPROP_USECONTENTINDEX {0xA7AC77ED, 0xF8D7, 0x11CE, {0xA7,0x98,0x00,0x20,0xF8,0x00,0x80,0x25} }") + + +// +// Property which, when set, indicates that pruning of raw results of global +// content index query should be deferred until *after* the top n results +// have been determined. This can result in substantially faster queries, but +// additional trimming is performed only on the top n raw results. +// +cpp_quote("#define DBPROP_DEFERNONINDEXEDTRIMMING {0xBEEEF560, 0xB999, 0x11CF, {0xB8,0x8A,0x00,0x00,0x4C,0x75,0x27,0x52} }") + + +// +// Property which, when set, indicates that the query should not be timed out +// based on CPU usage. +// +cpp_quote("#define DBPROP_DONTTIMEOUTQUERY {0x7772AF44, 0xD788, 0x11CF, {0x8C,0x7D,0x00,0x20,0xAF,0x1D,0x74,0x0E} }") + +// +// Status codes for IRowsetQueryStatus. These are divided +// into several regions. +// +// Bits Effect +// ----- ----------------------------------------------------- +// 00-02 Fill Status: How data is being updated, if at all. +// 03-15 Query reliability: How accurate the result is +// 16-31 Reserved +// + +const ULONG STAT_BUSY = 0x0; // Operation in progress +const ULONG STAT_ERROR = 0x1; // Failed due to error +const ULONG STAT_DONE = 0x2; // Operation finished +const ULONG STAT_REFRESH = 0x3; // Quiescent table being updated + +cpp_quote("#define QUERY_FILL_STATUS(x) (x & 0x7)") + +const ULONG STAT_PARTIAL_SCOPE = 0x8; // Some servers not available. + // Occurs for multi-volume + // queries. + +const ULONG STAT_NOISE_WORDS = 0x10; // Noise words replaced by + // wildcards. Occurs for + // content queries. + +const ULONG STAT_CONTENT_OUT_OF_DATE = 0x20; // Some documents modified + // but not yet content indexed. + // Content query may return + // incorrect results. + +const ULONG STAT_REFRESH_INCOMPLETE = 0x40; // Scope has been modified since + // query issued, but query is + // complex enough it is not + // possible to fit changes into + // table. Generally occurs when + // query contains content + // clause. + +const ULONG STAT_CONTENT_QUERY_INCOMPLETE = 0x80; + // Query issued was required to use + // content index, but the query was + // too complex for content index. + // Typical example: Regular expression + // query for "*foo*". + // + +const ULONG STAT_TIME_LIMIT_EXCEEDED = 0x100; + // Query executed longer than its + // permitted time. May be due + // to a complex query or due to + // returning many rows. + +cpp_quote("#define QUERY_RELIABILITY_STATUS(x) (x & 0xFFF8)") + + HRESULT GetStatus( + [out] DWORD * pdwStatus + ); + +} diff --git a/private/types2/query/sources b/private/types2/query/sources new file mode 100644 index 000000000..b3c0db3e0 --- /dev/null +++ b/private/types2/query/sources @@ -0,0 +1,20 @@ +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# +#---------------------------------------------------------------------------- + +!include ..\types2.inc + +SOURCES = query.idl + +# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once +SYNCHRONIZE_BLOCK=1 + +NTTARGETFILE0=filter.idl + diff --git a/private/types2/query/stemsink.idl b/private/types2/query/stemsink.idl new file mode 100644 index 000000000..697267485 --- /dev/null +++ b/private/types2/query/stemsink.idl @@ -0,0 +1,25 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1995. +// +// File: stemsink.idl +// +// Contents: IStemSink interface definition +// +// History: 24-Apr-95 SitaramR Created +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(fe77c330-7f42-11ce-be57-00aa0051fe20) +interface IStemSink : IUnknown +{ + SCODE PutAltWord( [in, size_is(cwc)] WCHAR const * pwcInBuf, + [in] ULONG cwc ); + SCODE PutWord( [in, size_is(cwc)] WCHAR const * pwcInBuf, + [in] ULONG cwc ); +} + + diff --git a/private/types2/query/wbreak.idl b/private/types2/query/wbreak.idl new file mode 100644 index 000000000..a40936f63 --- /dev/null +++ b/private/types2/query/wbreak.idl @@ -0,0 +1,54 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: WBreak.idl +// +// Contents: IWordBreaker interface definition +// +// History: 12-Aug-93 AmyA Created +// 08-Apr-94 KyleP Sync to spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(D53552C8-77E3-101A-B552-08002B33B0E6) +interface IWordBreaker: IUnknown +{ + cpp_quote("#ifndef _tagTEXT_SOURCE_DEFINED") + struct tagTEXT_SOURCE; + typedef SCODE ( __stdcall * PFNFILLTEXTBUFFER) (struct tagTEXT_SOURCE * pTextSource); + + typedef struct tagTEXT_SOURCE + { + PFNFILLTEXTBUFFER pfnFillTextBuffer; + WCHAR const * awcBuffer; + ULONG iEnd; + ULONG iCur; + } TEXT_SOURCE; + cpp_quote("#define _tagTEXT_SOURCE_DEFINED") + cpp_quote("#define _TEXT_SOURCE_DEFINED") + cpp_quote("#endif") + + SCODE Init( [in] BOOL fQuery, + [in] ULONG ulMaxTokenSize, + [out] BOOL * pfLicense ); + + SCODE BreakText( [in] TEXT_SOURCE * pTextSource, + [in] IWordSink * pWordSink, + [in] IPhraseSink * pPhraseSink ); + + SCODE ComposePhrase( [in, size_is(cwcNoun)] WCHAR const * pwcNoun, + [in] ULONG cwcNoun, + [in, size_is(cwcModifier)] WCHAR const * pwcModifier, + [in] ULONG cwcModifier, + [in] ULONG ulAttachmentType, + [out, size_is(*pcwcPhrase)] WCHAR * pwcPhrase, + [in, out] ULONG * pcwcPhrase ); + + SCODE GetLicenseToUse( [out, string] WCHAR const ** ppwcsLicense ); +} + + diff --git a/private/types2/query/wsink.idl b/private/types2/query/wsink.idl new file mode 100644 index 000000000..6ab8550e7 --- /dev/null +++ b/private/types2/query/wsink.idl @@ -0,0 +1,49 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1994. +// +// File: WSink.idl +// +// Contents: IWordSink interface definition +// +// History: 10-Nov-93 AmyA Created +// 08-Apr-94 KyleP Sync with spec +// +//-------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(CC907054-C058-101A-B554-08002B33B0E6) +interface IWordSink : IUnknown +{ + cpp_quote("#ifndef _tagWORDREP_BREAK_TYPE_DEFINED") + typedef enum tagWORDREP_BREAK_TYPE + { + WORDREP_BREAK_EOW = 0, + WORDREP_BREAK_EOS = 1, + WORDREP_BREAK_EOP = 2, + WORDREP_BREAK_EOC = 3 + } WORDREP_BREAK_TYPE; + cpp_quote("#define _tagWORDREP_BREAK_TYPE_DEFINED") + cpp_quote("#define _WORDREP_BREAK_TYPE_DEFINED") + cpp_quote("#endif") + + SCODE PutWord( [in] ULONG cwc, + [in, size_is(cwc)] WCHAR const * pwcInBuf, + [in] ULONG cwcSrcLen, + [in] ULONG cwcSrcPos); + + SCODE PutAltWord( [in] ULONG cwc, + [in, size_is(cwc)] WCHAR const * pwcInBuf, + [in] ULONG cwcSrcLen, + [in] ULONG cwcSrcPos ); + + SCODE StartAltPhrase( void ); + + SCODE EndAltPhrase( void ); + + SCODE PutBreak( [in] WORDREP_BREAK_TYPE breakType ); +} + + diff --git a/private/types2/sysmgmt/aldefs.idl b/private/types2/sysmgmt/aldefs.idl new file mode 100644 index 000000000..c0a8b68fd --- /dev/null +++ b/private/types2/sysmgmt/aldefs.idl @@ -0,0 +1,460 @@ +//+------------------------------------------------------------------------ +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: aldefs.idl +// +// Contents: Alert system definitions. +// +// History: 01-Aug-94 MarkBl Created +// +// Notes: This is not a real interface. Merely a way to declare +// alert system definitions. +// +//------------------------------------------------------------------------- + +[ + local, +// object, + uuid(0F061498-8D59-101B-A4BE-00000B65C31D), + pointer_default(unique) +] +interface AlertDefs +{ + // + // Alert severities. + // + + // for mktyplib... + + #define ALERTSEVERITY_INFORMATION 0x0004 + #define ALERTSEVERITY_WARNING 0x0002 + #define ALERTSEVERITY_ERROR 0x0001 + #define ALERTSEVERITY_SEVERE_ERROR 0x0020 + #define ALERTSEVERITY_FATAL_ERROR 0x0040 + #define ALERTSEVERITY_NEGATIVE_MATCH 0x0080 + + // BUGBUG : TEMORARILLY define old severity manifests + + #define ALERTSEVERITY_STATUS ALERTSEVERITY_INFORMATION + #define ALERTSEVERITY_NOTIFICATION ALERTSEVERITY_WARNING + #define ALERTSEVERITY_SEVERE ALERTSEVERITY_SEVERE_ERROR + #define ALERTSEVERITY_FATAL ALERTSEVERITY_FATAL_ERROR + + // ... for the C compiler + + cpp_quote("#define ALERTSEVERITY_INFORMATION 0x0004") + cpp_quote("#define ALERTSEVERITY_WARNING 0x0002") + cpp_quote("#define ALERTSEVERITY_ERROR 0x0001") + cpp_quote("#define ALERTSEVERITY_SEVERE_ERROR 0x0020") + cpp_quote("#define ALERTSEVERITY_FATAL_ERROR 0x0040") + cpp_quote("#define ALERTSEVERITY_NEGATIVE_MATCH 0x0080") + + // BUGBUG : TEMORARILLY define old severity manifests + + cpp_quote("#define ALERTSEVERITY_STATUS ALERTSEVERITY_INFORMATION") + cpp_quote("#define ALERTSEVERITY_NOTIFICATION ALERTSEVERITY_WARNING") + cpp_quote("#define ALERTSEVERITY_SEVERE ALERTSEVERITY_SEVERE_ERROR") + cpp_quote("#define ALERTSEVERITY_FATAL ALERTSEVERITY_FATAL_ERROR") + + + // + // BUGBUG : these don't need to be public. + // + + // for mktyplib... + + #define cAlertCategories (18) + + // ... for the C compiler + + cpp_quote("#define cAlertCategories (18)") + + + // + // Alert categories & subcategories + // + + // for mktyplib... + + #define Category_SystemEvents (0) + #define SystemEvents_Legacy (1) + + #define Category_UserNotification (1) + #define UserNotification_PrintJobDone (1) + #define UserNotification_Fax (2) + + #define Category_ApplicationNotification (2) + #define ApplicationNotification_Memory (1) + + #define Category_ApplicationManagement (3) + #define ApplicationManagement_TokenGranted (1) + #define ApplicationManagement_TokenDenied (2) + + #define Category_PrintersAndSharedResources (4) + #define PrintersAndSharedResources_Toner (1) + #define PrintersAndSharedResources_DeviceDriver (2) + #define PrintersAndSharedResources_Paper (3) + + #define Category_SecurityManagement (5) + #define SecurityManagement_ACL (1) + + #define Category_UserAccounts (6) + #define UserAccounts_Created (1) + #define UserAccounts_Deleted (2) + + #define Category_Storage (7) + #define Storage_Replication (1) + #define Storage_Quotas (2) + #define Storage_OFS (3) + #define Storage_NTFS (4) + #define Storage_FAT (5) + + #define Category_DistributedServices (8) + #define DistributedServices_DFS (1) + #define DistributedServices_DS (2) + + #define Category_LAN (9) + #define LAN_Bridge (1) + #define LAN_Cabling (2) + + #define Category_WAN (10) + #define WAN_Router (1) + #define WAN_Switch (2) + #define WAN_Telephony (3) + + #define Category_Catalog (11) + #define Catalog_Catalog (1) + + #define Category_BatchJob (12) + #define BatchJob_FailedToStart (1) + #define BatchJob_FailedTocomplete (2) + + #define Category_Backup (13) + #define Backup_FailedToStart (1) + #define Backup_Started (2) + #define Backup_FailedToComplete (3) + #define Backup_Completed (4) + + #define Category_SystemSoftware (14) + #define SystemSoftware_Kernel (1) + #define SystemSoftware_Drivers (2) + + #define Category_SystemHardware (15) + #define SystemHardware_CD ROM (1) + #define SystemHardware_Memory (2) + #define SystemHardware_Bus (3) + #define SystemHardware_SCSI (4) + #define SystemHardware_IDE (5) + #define SystemHardware_NIC (6) + + #define Category_SystemMonitoring (16) + #define SystemMonitoring_SYSMON (1) + #define SystemMonitoring_Bloodhound (2) + + #define Category_HelpdeskAndDiagnostics (17) + #define HelpdeskAndDiagnostics_DrWatson (1) + + #define Category_AlertNotify (18) + #define AlertNotify_ForwardIncomplete (1) + #define AlertNotify_RegistrationCanceled (2) + + + // ... for the C compiler + + cpp_quote("#define Category_SystemEvents (0)") + cpp_quote("#define SystemEvents_Legacy (1)") + + cpp_quote("#define Category_UserNotification (1)") + cpp_quote("#define UserNotification_PrintJobDone (1)") + cpp_quote("#define UserNotification_Fax (2)") + + cpp_quote("#define Category_ApplicationNotification (2)") + cpp_quote("#define ApplicationNotification_Memory (1)") + + cpp_quote("#define Category_ApplicationManagement (3)") + cpp_quote("#define ApplicationManagement_TokenGranted (1)") + cpp_quote("#define ApplicationManagement_TokenDenied (2)") + + cpp_quote("#define Category_PrintersAndSharedResources (4)") + cpp_quote("#define PrintersAndSharedResources_Toner (1)") + cpp_quote("#define PrintersAndSharedResources_DeviceDriver (2)") + cpp_quote("#define PrintersAndSharedResources_Paper (3)") + + cpp_quote("#define Category_SecurityManagement (5)") + cpp_quote("#define SecurityManagement_ACL (1)") + + cpp_quote("#define Category_UserAccounts (6)") + cpp_quote("#define UserAccounts_Created (1)") + cpp_quote("#define UserAccounts_Deleted (2)") + + cpp_quote("#define Category_Storage (7)") + cpp_quote("#define Storage_Replication (1)") + cpp_quote("#define Storage_Quotas (2)") + cpp_quote("#define Storage_OFS (3)") + cpp_quote("#define Storage_NTFS (4)") + cpp_quote("#define Storage_FAT (5)") + + cpp_quote("#define Category_DistributedServices (8)") + cpp_quote("#define DistributedServices_DFS (1)") + cpp_quote("#define DistributedServices_DS (2)") + + cpp_quote("#define Category_LAN (9)") + cpp_quote("#define LAN_Bridge (1)") + cpp_quote("#define LAN_Cabling (2)") + + cpp_quote("#define Category_WAN (10)") + cpp_quote("#define WAN_Router (1)") + cpp_quote("#define WAN_Switch (2)") + cpp_quote("#define WAN_Telephony (3)") + + cpp_quote("#define Category_Catalog (11)") + cpp_quote("#define Catalog_Catalog (1)") + + cpp_quote("#define Category_BatchJob (12)") + cpp_quote("#define BatchJob_FailedToStart (1)") + cpp_quote("#define BatchJob_FailedTocomplete (2)") + + cpp_quote("#define Category_Backup (13)") + cpp_quote("#define Backup_FailedToStart (1)") + cpp_quote("#define Backup_Started (2)") + cpp_quote("#define Backup_FailedToComplete (3)") + cpp_quote("#define Backup_Completed (4)") + + cpp_quote("#define Category_SystemSoftware (14)") + cpp_quote("#define SystemSoftware_Kernel (1)") + cpp_quote("#define SystemSoftware_Drivers (2)") + + cpp_quote("#define Category_SystemHardware (15)") + cpp_quote("#define SystemHardware_CD ROM (1)") + cpp_quote("#define SystemHardware_Memory (2)") + cpp_quote("#define SystemHardware_Bus (3)") + cpp_quote("#define SystemHardware_SCSI (4)") + cpp_quote("#define SystemHardware_IDE (5)") + cpp_quote("#define SystemHardware_NIC (6)") + + cpp_quote("#define Category_SystemMonitoring (16)") + cpp_quote("#define SystemMonitoring_SYSMON (1)") + cpp_quote("#define SystemMonitoring_Bloodhound (2)") + + cpp_quote("#define Category_HelpdeskAndDiagnostics (17)") + cpp_quote("#define HelpdeskAndDiagnostics_DrWatson (1)") + + cpp_quote("#define Category_AlertNotify (18)") + cpp_quote("#define AlertNotify_ForwardIncomplete (1)") + cpp_quote("#define AlertNotify_RegistrationCanceled (2)") + + // + // Alert Report property & method ids. + // + // Base system alert properties. + // + + // for mktyplib... + + #define DISPID_SystemAlertReport_Category (1001) + #define DISPID_SystemAlertReport_SubCategory (1002) + #define DISPID_SystemAlertReport_Severity (1003) + #define DISPID_SystemAlertReport_TitleText (1004) + #define DISPID_SystemAlertReport_DescriptionText (1005) + #define DISPID_SystemAlertReport_SourceDescription (1006) + #define DISPID_SystemAlertReport_SourceMachine (1007) + #define DISPID_SystemAlertReport_CreationTime (1008) + #define DISPID_SystemAlertReport_TitleMessageNumber (1009) + #define DISPID_SystemAlertReport_TitleMessageInserts (1010) + #define DISPID_SystemAlertReport_DescrMessageNumber (1011) + #define DISPID_SystemAlertReport_DescrMessageInserts (1012) + #define DISPID_SystemAlertReport_ComponentID (1013) + #define DISPID_SystemAlertReport_ReportClassID (1014) + #define DISPID_SystemAlertReport_BinaryData (1015) + #define DISPID_SystemAlertReport_SourceLanguageID (1016) + #define DISPID_SystemAlertReport_UniqueID (1017) + #define DISPID_SystemAlertReport_TargetCount (1018) + #define DISPID_SystemAlertReport_TakeActionDLL (1019) + #define DISPID_SystemAlertReport_Reserved (1200) + #define DISPID_SystemAlertReport_GetTitle (1501) + #define DISPID_SystemAlertReport_GetDescription (1502) + #define DISPID_SystemAlertReport_Send (1503) + #define DISPID_SystemAlertReport_Save (1504) + #define DISPID_SystemAlertReport_GetVersion (1505) + #define DISPID_SystemAlertReport_SetExpiration (1506) + #define DISPID_SystemAlertReport_GetExpiration (1507) + #define DISPID_SystemAlertReport_SetState (1508) + #define DISPID_SystemAlertReport_GetState (1509) + #define DISPID_SystemAlertReport_GetActions (1510) + #define DISPID_SystemAlertReport_PerformAction (1511) + + // ... for the C compiler + + cpp_quote("#define DISPID_SystemAlertReport_Category (1001)") + cpp_quote("#define DISPID_SystemAlertReport_SubCategory (1002)") + cpp_quote("#define DISPID_SystemAlertReport_Severity (1003)") + cpp_quote("#define DISPID_SystemAlertReport_TitleText (1004)") + cpp_quote("#define DISPID_SystemAlertReport_DescriptionText (1005)") + cpp_quote("#define DISPID_SystemAlertReport_SourceDescription (1006)") + cpp_quote("#define DISPID_SystemAlertReport_SourceMachine (1007)") + cpp_quote("#define DISPID_SystemAlertReport_CreationTime (1008)") + cpp_quote("#define DISPID_SystemAlertReport_TitleMessageNumber (1009)") + cpp_quote("#define DISPID_SystemAlertReport_TitleMessageInserts (1010)") + cpp_quote("#define DISPID_SystemAlertReport_DescrMessageNumber (1011)") + cpp_quote("#define DISPID_SystemAlertReport_DescrMessageInserts (1012)") + cpp_quote("#define DISPID_SystemAlertReport_ComponentID (1013)") + cpp_quote("#define DISPID_SystemAlertReport_ReportClassID (1014)") + cpp_quote("#define DISPID_SystemAlertReport_BinaryData (1015)") + cpp_quote("#define DISPID_SystemAlertReport_SourceLanguageID (1016)") + cpp_quote("#define DISPID_SystemAlertReport_UniqueID (1017)") + cpp_quote("#define DISPID_SystemAlertReport_TargetCount (1018)") + cpp_quote("#define DISPID_SystemAlertReport_TakeActionDLL (1019)") + cpp_quote("#define DISPID_SystemAlertReport_Reserved (1200)") + cpp_quote("#define DISPID_SystemAlertReport_GetTitle (1501)") + cpp_quote("#define DISPID_SystemAlertReport_GetDescription (1502)") + cpp_quote("#define DISPID_SystemAlertReport_Send (1503)") + cpp_quote("#define DISPID_SystemAlertReport_Save (1504)") + cpp_quote("#define DISPID_SystemAlertReport_GetVersion (1505)") + cpp_quote("#define DISPID_SystemAlertReport_SetExpiration (1506)") + cpp_quote("#define DISPID_SystemAlertReport_GetExpiration (1507)") + cpp_quote("#define DISPID_SystemAlertReport_SetState (1508)") + cpp_quote("#define DISPID_SystemAlertReport_GetState (1509)") + cpp_quote("#define DISPID_SystemAlertReport_GetActions (1510)") + cpp_quote("#define DISPID_SystemAlertReport_PerformAction (1511)") + + // + // NT event report alert property ids. + // + + // for mktyplib... + + #define DISPID_NTEventReport_EventCategory (2) + #define DISPID_NTEventReport_LogFile (3) + + // ... for the C compiler + + cpp_quote("#define DISPID_NTEventReport_EventCategory (2)") + cpp_quote("#define DISPID_NTEventReport_LogFile (3)") + + // + // Forwarding rules collection dispinterface property/method ids. + // + + // for mktyplib... + + #define DISPID_RULES_BASE (2) + + #define DISPID_Rule_Collection (DISPID_RULES_BASE + 0) + #define DISPID_Rule_Collection_Count (DISPID_RULES_BASE + 1) + #define DISPID_Rule_Collection_Add (DISPID_RULES_BASE + 2) + #define DISPID_Rule_Collection_Item (DISPID_RULES_BASE + 3) + #define DISPID_Rule_Collection__NewEnum (DISPID_NEWENUM) + + // ... for the C compiler + + cpp_quote("#define DISPID_RULES_BASE (2)") + + cpp_quote("#define DISPID_Rule_Collection (DISPID_RULES_BASE + 0)") + cpp_quote("#define DISPID_Rule_Collection_Count (DISPID_RULES_BASE + 1)") + cpp_quote("#define DISPID_Rule_Collection_Add (DISPID_RULES_BASE + 2)") + cpp_quote("#define DISPID_Rule_Collection_Item (DISPID_RULES_BASE + 3)") + cpp_quote("#define DISPID_Rule_Collection__NewEnum (DISPID_NEWENUM)") + + + // + // Forwarding rule object dispinterface property/method ids. + // + + // for mktyplib... + + #define DISPID_RULE_BASE (2) + + #define DISPID_Rule_Category (DISPID_RULE_BASE + 0) + #define DISPID_Rule_Remove (DISPID_RULE_BASE + 1) + #define DISPID_SubRule_Collection_Count (DISPID_RULE_BASE + 2) + #define DISPID_SubRule_Collection_Add (DISPID_RULE_BASE + 3) + #define DISPID_SubRule_Collection_Item (DISPID_RULE_BASE + 4) + #define DISPID_SubRule_Collection__NewEnum (DISPID_RULE_BASE + 5) + + // ... for the C compiler + + cpp_quote("#define DISPID_RULE_BASE (2)") + + cpp_quote("#define DISPID_Rule_Category (DISPID_RULE_BASE + 0)") + cpp_quote("#define DISPID_Rule_Remove (DISPID_RULE_BASE + 1)") + cpp_quote("#define DISPID_SubRule_Collection_Count (DISPID_RULE_BASE + 2)") + cpp_quote("#define DISPID_SubRule_Collection_Add (DISPID_RULE_BASE + 3)") + cpp_quote("#define DISPID_SubRule_Collection_Item (DISPID_RULE_BASE + 4)") + cpp_quote("#define DISPID_SubRule_Collection__NewEnum (DISPID_RULE_BASE + 5)") + + // + // Forwarding sub rule object dispinterface property/method ids. + // + + // for mktyplib... + + #define DISPID_SUBRULE_BASE (2) + + #define DISPID_SubRule_SubCategory (DISPID_SUBRULE_BASE + 0) + #define DISPID_SubRule_Severity (DISPID_SUBRULE_BASE + 1) + + // ... for the C compiler + + cpp_quote("#define DISPID_SUBRULE_BASE (2)") + + cpp_quote("#define DISPID_SubRule_SubCategory (DISPID_SUBRULE_BASE + 0)") + cpp_quote("#define DISPID_SubRule_Severity (DISPID_SUBRULE_BASE + 1)") + + // + // Alert recipient object dispinterface property/method ids. + // + + // for mktyplib... + + #define DISPID_REGISTRATION_BASE (2) + + #define DISPID_Registration_ID (DISPID_REGISTRATION_BASE + 0) + #define DISPID_Registration_TargetPath (DISPID_REGISTRATION_BASE + 1) + #define DISPID_Registration_ForwardingRules (DISPID_REGISTRATION_BASE + 2) + #define DISPID_Registration_EnableForwarding (DISPID_REGISTRATION_BASE + 3) + #define DISPID_Registration__FirstErrorTime (DISPID_REGISTRATION_BASE + 4) + #define DISPID_Registration__ErrorCount (DISPID_REGISTRATION_BASE + 5) + #define DISPID_Registration__Target (DISPID_REGISTRATION_BASE + 6) + #define DISPID_Registration_Remove (DISPID_REGISTRATION_BASE + 7) + + // ... for the C compiler + + cpp_quote("#define DISPID_REGISTRATION_BASE (2)") + + cpp_quote("#define DISPID_Registration_ID (DISPID_REGISTRATION_BASE + 0)") + cpp_quote("#define DISPID_Registration_TargetPath (DISPID_REGISTRATION_BASE + 1)") + cpp_quote("#define DISPID_Registration_ForwardingRules (DISPID_REGISTRATION_BASE + 2)") + cpp_quote("#define DISPID_Registration_EnableForwarding (DISPID_REGISTRATION_BASE + 3)") + cpp_quote("#define DISPID_Registration__FirstErrorTime (DISPID_REGISTRATION_BASE + 4)") + cpp_quote("#define DISPID_Registration__ErrorCount (DISPID_REGISTRATION_BASE + 5)") + cpp_quote("#define DISPID_Registration__Target (DISPID_REGISTRATION_BASE + 6)") + cpp_quote("#define DISPID_Registration_Remove (DISPID_REGISTRATION_BASE + 7)") + + // + // Alert recipient collection dispinterface property/method ids. + // + + // for mktyplib... + + #define DISPID_REG_COLLECTION_BASE (2) + + #define DISPID_Registration_Collection (DISPID_REG_COLLECTION_BASE + 0) + #define DISPID_Registration_Collection_Count (DISPID_REG_COLLECTION_BASE + 1) + #define DISPID_Registration_Collection_Add (DISPID_REG_COLLECTION_BASE + 2) + #define DISPID_Registration_Collection_Item (DISPID_REG_COLLECTION_BASE + 3) + #define DISPID_Registration_Collection__NewEnum (DISPID_NEWENUM) + + // ... for the C compiler + + cpp_quote("#define DISPID_REG_COLLECTION_BASE (2)") + + cpp_quote("#define DISPID_Registration_Collection (DISPID_REG_COLLECTION_BASE + 0)") + cpp_quote("#define DISPID_Registration_Collection_Count (DISPID_REG_COLLECTION_BASE + 1)") + cpp_quote("#define DISPID_Registration_Collection_Add (DISPID_REG_COLLECTION_BASE + 2)") + cpp_quote("#define DISPID_Registration_Collection_Item (DISPID_REG_COLLECTION_BASE + 3)") + cpp_quote("#define DISPID_Registration_Collection__NewEnum (DISPID_NEWENUM)") + + void DummyMethod(void); +} diff --git a/private/types2/sysmgmt/alrep.idl b/private/types2/sysmgmt/alrep.idl new file mode 100644 index 000000000..62620a68b --- /dev/null +++ b/private/types2/sysmgmt/alrep.idl @@ -0,0 +1,34 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: alrep.idl +// +// Contents: IAlertReport interface +// +// Classes: +// +// Functions: +// +// History: 13-Dec-93 markbl Created +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(4E81DFE8-4CA0-101A-8206-08002B2FC09B) +interface IAlertReport : IUnknown +{ +#ifndef APBU + import "unknwn.idl"; +#endif + + HRESULT InitNew([ in ] DISPPARAMS * pdparams); + + HRESULT GetReportData([ out ] DISPPARAMS * pdparams); + + HRESULT GetTitle([ out ] BSTR * pbstrTitle); + + HRESULT GetTextualDescription([ out ] BSTR * pbstrDescr); +} diff --git a/private/types2/sysmgmt/altrgt.idl b/private/types2/sysmgmt/altrgt.idl new file mode 100644 index 000000000..e48bbb7cb --- /dev/null +++ b/private/types2/sysmgmt/altrgt.idl @@ -0,0 +1,30 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: altrgt.idl +// +// Contents: IAlertTarget interface +// +// Classes: +// +// Functions: +// +// History: 03-Mar-95 markbl Created +// +//---------------------------------------------------------------------------- + +#include "idlmulti.h" + +LOCAL_INTERFACE(589b61C0-54E6-11CE-94DD-00AA0051E40F) +interface IAlertTarget : IUnknown +{ +#ifndef APBU + import "unknwn.idl"; +#endif + + HRESULT Report( + [ in ] ULONG cbReportSize, + [ size_is(cbReportSize)] BYTE * pbReport); +} diff --git a/private/types2/sysmgmt/makefile b/private/types2/sysmgmt/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/types2/sysmgmt/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/types2/sysmgmt/sources b/private/types2/sysmgmt/sources new file mode 100644 index 000000000..4f2ef48f7 --- /dev/null +++ b/private/types2/sysmgmt/sources @@ -0,0 +1,18 @@ +#-------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# +#---------------------------------------------------------------------------- + +!include ..\types2.inc + +SOURCES = sysmgmt.idl + +# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once +SYNCHRONIZE_BLOCK=1 + diff --git a/private/types2/sysmgmt/sysmgmt.idl b/private/types2/sysmgmt/sysmgmt.idl new file mode 100644 index 000000000..1e57df51d --- /dev/null +++ b/private/types2/sysmgmt/sysmgmt.idl @@ -0,0 +1,29 @@ +//+--------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 - 1993. +// +// File: sysmgmt.idl +// +// Contents: master idl file for public interfaces +// +// History: 7-18-94 ErikGav Created +// +//---------------------------------------------------------------------------- +#include "idlmulti.h" + +#ifdef IMPORT_IDL_DEPENDENTS +import "oaidl.idl"; +import "oleidl.idl"; +import "oleext.idl"; +#endif + +//---------------------------------------------------------------------------- +// +// all sysmgmt interfaces +// +//---------------------------------------------------------------------------- + +#include "aldefs.idl" +#include "alrep.idl" +#include "altrgt.idl" diff --git a/private/types2/types2.inc b/private/types2/types2.inc new file mode 100644 index 000000000..d155b354c --- /dev/null +++ b/private/types2/types2.inc @@ -0,0 +1,30 @@ + +#+--------------------------------------------------------------------------- +# +# Microsoft Windows +# Copyright (C) Microsoft Corporation, 1993 - 1993. +# +# File: sources +# +# History: 7-20-94 ErikGav First attempt at rationalizing all this +# 8-02-94 LyleC Integrate into build.exe +# +#---------------------------------------------------------------------------- + +C_DEFINES=$(C_DEFINES) -DIMPORT_IDL_DEPENDENTS + +SDKINC=$(BASEDIR)\public\sdk\inc + +PASS0_HEADERDIR=$(SDKINC) +PASS0_SOURCEDIR=..\proxy\proxy +MIDL_UUIDDIR=..\proxy\uuid + +MIDL_FLAGS=-DMIDL_PASS + +TARGETTYPE=NOTARGET +TARGETPATH=obj + +INCLUDES=$(SDKINC) +INCLUDES=$(INCLUDES);..\oleext +INCLUDES=$(INCLUDES);..\h +INCLUDES=$(INCLUDES);..\oledb |