Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This appendix lists the prototypes of all interfaces in OLE DB.
interface IAccessor {
HRESULT AddRefAccessor (
HACCESSOR hAccessor,
DBREFCOUNT *pcRefCount);
HRESULT CreateAccessor (
DBACCESSORFLAGS dwAccessorFlags,
DBCOUNTITEM cBindings,
const DBBINDING rgBindings[],
DBLENGTH cbRowSize,
HACCESSOR *phAccessor,
DBBINDSTATUS rgStatus[]);
HRESULT GetBindings (
HACCESSOR hAccessor,
DBACCESSORFLAGS *pdwAccessorFlags,
DBCOUNTITEM *pcBindings,
DBBINDING **prgBindings);
HRESULT ReleaseAccessor (
HACCESSOR hAccessor,
DBREFCOUNT *pcRefCount);
};
interface IAlterIndex {
HRESULT AlterIndex (
DBID * pTableID,
DBID * pIndexID,
DBID * pNewIndexID,
ULONG cPropertySets,
DBPROPSET rgPropertySet[]);
};
interface IAlterTable {
HRESULT AlterColumn (
DBID * pTableID,
DBID * pColumnID,
DBCOLUMNDESCFLAGS dwColumnDescFlags,
DBCOLUMNDESC * pColumnDesc);
HRESULT AlterTable (
DBID * pTableID,
DBID * pNewTableID,
ULONG cPropertySets,
DBPROPSET rgPropertySet[]);
};
interface IBindResource {
HRESULT Bind(
IUnknown * pUnkOuter,
LPCOLESTR pwszURL,
DBBINDURLFLAG dwBindURLFlags,
REFGUID rguid,
REFIID riid,
IAuthenticate * pAuthenticate,
DBIMPLICITSESSION * pImplSession,
DBBINDURLSTATUS * pdwBindStatus,
IUnknown ** ppUnk);
};
interface IChapteredRowset {
HRESULT AddRefChapter (
HCHAPTER hChapter,
DBREFCOUNT *pcRefCount);
HRESULT ReleaseChapter (
HCHAPTER hChapter,
DBREFCOUNT *pcRefCount);
};
interface IColumnsInfo {
HRESULT GetColumnInfo (
DBORDINAL *pcColumns,
DBCOLUMNINFO **prgInfo,
OLECHAR **ppStringsBuffer);
HRESULT MapColumnIDs (
DBORDINAL cColumnIDs,
const DBID rgColumnIDs[],
DBORDINAL rgColumns[]);
};
interface IColumnsInfo2 {
HRESULT GetRestrictedColumnInfo(
DBORDINAL cColumnIDMasks,
const DBID rgColumnIDMasks[ ],
DWORD dwFlags,
DBORDINAL *pcColumns,
DBID **prgColumnIDs,
DBCOLUMNINFO **prgColumnInfo,
OLECHAR **ppStringsBuffer);
};
interface IColumnsRowset {
HRESULT GetAvailableColumns (
DBORDINAL *pcOptColumns,
DBID **prgOptColumns);
HRESULT GetColumnsRowset (
IUnknown *pUnkOuter,
DBORDINAL cOptColumns,
const DBID rgOptColumns[],
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
IUnknown **ppColRowset);
};
interface ICommand {
HRESULT Cancel();
HRESULT Execute (
IUnknown *pUnkOuter,
REFIID riid,
DBPARAMS *pParams,
DBROWCOUNT *pcRowsAffected,
IUnknown **ppRowset);
HRESULT GetDBSession (
REFIID riid,
IUnknown ** ppSession);
};
interface ICommandPersist {
HRESULT DeleteCommand(
DBID * pCommandID);
HRESULT GetCurrentCommand(
DBID * pCommandID);
HRESULT LoadCommand(
DBID * pCommandID,
DWORD dwFlags);
HRESULT SaveCommand(
DBID * pCommandID,
DWORD dwFlags);
};
interface ICommandPrepare {
HRESULT Prepare (
ULONG cExpectedRuns);
HRESULT Unprepare();
};
interface ICommandProperties {
HRESULT GetProperties (
const ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertySets,
DBPROPSET ** prgPropertySets);
HRESULT SetProperties (
ULONG cPropertySets,
DBPROPSET rgPropertySets[]);
};
interface ICommandStream {
HRESULT GetCommandStream (
IID *piid,
GUID *pguidDialect,
IUnknown **ppCommandStream);
HRESULT SetCommandStream (
REFIID riid,
REFGUID rguidDialect,
IUnknown *pCommandStream);
};
interface ICommandText : ICommand {
HRESULT GetCommandText (
GUID * pguidDialect,
LPOLESTR * ppwszCommand);
HRESULT SetCommandText (
REFGUID rguidDialect,
LPCOLESTR pwszCommand);
};
interface ICommandWithParameters {
HRESULT GetParameterInfo (
DB_UPARAMS *pcParams,
DBPARAMINFO **prgParamInfo,
OLECHAR **ppNamesBuffer);
HRESULT MapParameterNames (
DB_UPARAMS cParamNames,
const OLECHAR *rgParamNames[],
DB_LPARAMS rgParamOrdinals[]);
HRESULT SetParameterInfo (
DB_UPARAMS cParams,
const DB_UPARAMS rgParamOrdinals[],
const DBPARAMBINDINFO rgParamBindInfo[]);
};
interface IConvertType {
HRESULT CanConvert (
DBTYPE wFromType,
DBTYPE wToType,
DBCONVERTFLAGS dwConvertFlags);
};
interface ICreateRow {
HRESULT CreateRow(
IUnknown * pUnkOuter,
LPCOLESTR pwszURL,
DBBINDURLFLAG dwBindURLFlags,
REFGUID rguid,
REFIID riid,
IAuthenticate * pAuthenticate,
DBIMPLICITSESSION * pImplSession,
DBBINDURLSTATUS * pdwBindStatus,
LPOLESTR * ppwszNewURL,
IUnknown ** ppUnk);
};
interface IDBAsynchNotify {
HRESULT OnLowResource (
DB_DWRESERVE dwReserved);
HRESULT OnProgress (
HCHAPTER hChapter,
DBASYNCHOP eOperation,
DBCOUNTITEM ulProgress,
DBCOUNTITEM ulProgressMax,
DBASYNCHPHASE eAsynchPhase,
LPOLESTR pwszStatusText);
HRESULT OnStop (
HCHAPTER hChapter,
DBASYNCHOP eOperation,
HRESULT hrStatus,
LPOLESTR pwszStatusText);
};
interface IDBAsynchStatus {
HRESULT Abort (
HCHAPTER hChapter,
DBASYNCHOP eOperation);
HRESULT GetStatus (
HCHAPTER hChapter,
DBASYNCHOP eOperation,
DBCOUNTITEM *pulProgress,
DBCOUNTITEM *pulProgressMax,
DBASYNCHPHASE *peAsynchPhase,
LPOLESTR *ppwszStatusText);
};
interface IDBBinderProperties {
HRESULT Reset();
};
interface IDBCreateCommand {
HRESULT CreateCommand(
IUnknown * pUnkOuter,
REFIID riid,
IUnknown ** ppCommand);
};
interface IDBCreateSession {
HRESULT CreateSession (
IUnknown * pUnkOuter,
REFIID riid,
IUnknown ** ppDBSession);
};
interface IDBDataSourceAdmin {
HRESULT CreateDataSource(
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
IUnknown * pUnkOuter,
REFIID riid,
IUnknown ** ppSession);
HRESULT DestroyDataSource ();
HRESULT GetCreationProperties (
ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertyInfoSets,
DBPROPINFOSET ** prgPropertyInfoSets,
OLECHAR ** ppDescBuffer);
HRESULT ModifyDataSource (
ULONG cPropertySets,
DBPROPSET rgPropertySets[]);
};
interface IDBInfo {
HRESULT GetKeywords(
LPOLESTR * ppwszKeywords);
HRESULT GetLiteralInfo(
ULONG cLiterals,
const DBLITERAL rgLiterals[],
ULONG * pcLiteralInfo,
DBLITERALINFO ** prgLiteralInfo,
OLECHAR ** ppCharBuffer);
};
interface IDBInitialize {
HRESULT Initialize();
HRESULT Uninitialize();
};
interface IDBProperties {
HRESULT GetProperties (
ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertySets,
DBPROPSET ** prgPropertySets);
HRESULT GetPropertyInfo(
ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertyInfoSets,
DBPROPINFOSET ** prgPropertyInfoSets,
OLECHAR ** ppDescBuffer);
HRESULT SetProperties (
ULONG cPropertySets,
DBPROPSET rgPropertySets[]);
};
interface IDBSchemaRowset {
HRESULT GetRowset (
IUnknown * punkOuter,
REFGUID rguidSchema,
ULONG cRestrictions,
const VARIANT rgRestrictions[],
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
IUnknown ** ppRowset);
HRESULT GetSchemas (
ULONG * pcSchemas,
GUID ** prgSchemas,
ULONG ** prgRestrictionSupport);
};
interface IErrorInfo {
HRESULT GetDescription (
BSTR * pbstrDescription);
HRESULT GetGUID (
GUID * pguid);
HRESULT GetHelpContext (
DWORD * pdwHelpContext);
HRESULT GetHelpFile (
BSTR * pbstrHelpFile);
HRESULT GetSource (
BSTR * pbstrSource);
};
interface IErrorLookup {
HRESULT GetErrorDescription (
HRESULT hrError,
DWORD dwLookupID,
DISPPARAMS * pdispparams,
LCID lcid,
BSTR * pbstrSource,
BSTR * pbstrDescription);
HRESULT GetHelpInfo (
HRESULT hrError,
DWORD dwLookupID,
LCID lcid,
BSTR * pbstrHelpFile,
DWORD * pdwHelpContext);
HRESULT ReleaseErrors (
const DWORD dwDynamicErrorID);
};
interface IErrorRecords {
HRESULT AddErrorRecord (
ERRORINFO * pErrorInfo,
DWORD dwLookupID,
DISPPARAMS * pdispparams,
IUnknown * punkCustomError,
DWORD dwDynamicErrorID);
HRESULT GetBasicErrorInfo (
ULONG ulRecordNum,
ERRORINFO * pErrorInfo);
HRESULT GetCustomErrorObject (
ULONG ulRecordNum,
REFIID riid,
IUnknown ** ppObject);
HRESULT GetErrorInfo (
ULONG ulRecordNum,
LCID lcid,
IErrorInfo ** ppErrorInfo);
HRESULT GetErrorParameters (
ULONG ulRecordNum,
DISPPARAMS * pdispparams);
HRESULT GetRecordCount (
ULONG * pcRecords);
};
interface IGetDataSource {
HRESULT GetDataSource (
REFIID riid,
IUnknown ** ppDataSource);
};
interface IGetRow {
HRESULT GetRowFromHROW(
IUnknown * pUnkOuter,
HROW hRow,
REFIID riid,
IUnknown ** ppUnk);
HRESULT GetURLFromHROW(
HROW hRow,
LPOLESTR * ppwszURL);
};
interface IGetSession {
HRESULT GetSession(
REFIID riid,
IUnknown ** ppSession);
};
interface IGetSourceRow {
HRESULT GetSourceRow(
REFIID riid,
IUnknown ** ppRow);
};
interface IIndexDefinition {
HRESULT CreateIndex(
DBID *pTableID,
DBID *pIndexID,
DBORDINAL cIndexColumnDescs,
const DBINDEXCOLUMNDESC rgIndexColumnDescs[],
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
DBID **ppIndexID);
HRESULT DropIndex(
DBID * pTableID,
DBID * pIndexID);
};
interface IMultipleResults {
HRESULT GetResult(
IUnknown *pUnkOuter,
DBRESULTFLAG lResultFlag,
REFIID riid,
DBROWCOUNT *pcRowsAffected,
IUnknown **ppRowset);
};
interface IOpenRowset {
HRESULT OpenRowset(
IUnknown * pUnkOuter,
DBID * pTableID,
DBID * pIndexID,
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
IUnknown ** ppRowset);
};
interface IParentRowset {
HRESULT GetChildRowset(
IUnknown *pUnkOuter,
DBORDINAL iOrdinal,
REFIID riid,
IUnknown **ppRowset);
};
interface IRegisterProvider {
HRESULT GetURLMapping(
LPCOLESTR pwszURL,
DB_DWRESERVE dwReserved,
CLSID *pclsidProvider);
HRESULT SetURLMapping(
LPCOLESTR pwszURL,
DB_DWRESERVE dwReserved,
REFCLSID rclsidProvider);
HRESULT UnregisterProvider(
LPCOLESTR pwszURL,
DB_DWRESERVE dwReserved,
REFCLSID rclsidProvider);
};
interface IRow {
HRESULT GetColumns(
DBORDINAL cColumns,
DBCOLUMNACCESS rgColumns[ ]);
HRESULT GetSourceRowset(
REFIID riid,
IUnknown ** ppRowset,
HROW * phRow);
HRESULT Open(
IUnknown * pUnkOuter,
DBID * pColumnID,
REFGUID rguidColumnType,
DWORD dwFlags,
REFIID riid,
IUnknown ** ppUnk);
};
interface IRowChange {
HRESULT SetColumns(
DBORDINAL cColumns,
DBCOLUMNACCESS rgColumns[ ]);
};
interface IRowSchemaChange {
HRESULT AddColumns(
DBORDINAL cColumns,
const DBCOLUMNINFO rgNewColumnInfo[ ],
DBCOLUMNACCESS rgColumns[ ]);
HRESULT DeleteColumns(
DBORDINAL cColumns,
const DBID rgColumnIDs[ ],
DBSTATUS rgdwStatus[ ]);
};
interface IRowset {
HRESULT AddRefRows(
DBCOUNTITEM cRows,
const HROW rghRows[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
HRESULT GetData (
HROW hRow,
HACCESSOR hAccessor,
void * pData);
HRESULT GetNextRows (
HCHAPTER hChapter,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM *pcRowsObtained,
HROW **prghRows);
HRESULT ReleaseRows (
DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWOPTIONS rgRowOptions[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
HRESULT RestartPosition (
HCHAPTER hChapter);
};
interface IRowsetBookmark {
HRESULT PositionOnBookmark (
HCHAPTER hChapter,
DBBKMARK cbBookmark,
const BYTE *pBookmark);
};
interface IRowsetChange {
HRESULT DeleteRows (
HCHAPTER hChapter,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWSTATUS rgRowStatus[]);
HRESULT InsertRow (
HCHAPTER hChapter,
HACCESSOR hAccessor,
void * pData,
HROW * phRow);
HRESULT SetData (
HROW hRow,
HACCESSOR hAccessor,
void * pData);
};
interface IRowsetChapterMember {
HRESULT IsRowInChapter (
HCHAPTER hChapter,
HROW hRow);
};
interface IRowsetCurrentIndex {
HRESULT GetIndex (
DBID ** ppIndexID);
HRESULT SetIndex (
DBID * pIndexID);
};
interface IRowsetFind {
HRESULT FindNextRow (
HCHAPTER hChapter,
HACCESSOR hAccessor,
void *pFindValue,
DBCOMPAREOP CompareOp,
DBBKMARK cbBookmark,
const BYTE *pBookmark,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM *pcRowsObtained,
HROW **prghRows);
};
interface IRowsetIdentity {
HRESULT IsSameRow (
HROW hThisRow,
HROW hThatRow);
};
interface IRowsetIndex {
HRESULT GetIndexInfo (
DBORDINAL *pcKeyColumns,
DBINDEXCOLUMNDESC **prgIndexColumnDesc,
ULONG *pcIndexProperties,
DBPROPSET **prgIndexProperties);
HRESULT Seek (
HACCESSOR hAccessor,
DBORDINAL cKeyValues,
void *pData,
DBSEEK dwSeekOptions);
HRESULT SetRange (
HACCESSOR hAccessor,
DBORDINAL cStartKeyColumns,
void *pStartData,
DBORDINAL cEndKeyColumns,
void *pEndData,
DBRANGE dwRangeOptions);
};
interface IRowsetInfo {
HRESULT GetProperties (
const ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertySets,
DBPROPSET ** prgPropertySets);
HRESULT GetReferencedRowset (
DBORDINAL iOrdinal,
REFIID riid,
IUnknown **ppReferencedRowset);
HRESULT GetSpecification (
REFIID riid,
IUnknown ** ppSpecification);
};
interface IRowsetLocate : IRowset {
HRESULT Compare (
HCHAPTER hChapter,
DBBKMARK cbBookmark1,
const BYTE *pBookmark1,
DBBKMARK cbBookmark2,
const BYTE *pBookmark2,
DBCOMPARE *pComparison);
HRESULT GetRowsAt (
HWATCHREGION hReserved1,
HCHAPTER hChapter,
DBBKMARK cbBookmark,
const BYTE *pBookmark,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM *pcRowsObtained,
HROW **prghRows);
HRESULT GetRowsByBookmark (
HCHAPTER hChapter,
DBCOUNTITEM cRows,
const DBBKMARK rgcbBookmarks[],
const BYTE *rgpBookmarks[],
HROW rghRows[],
DBROWSTATUS rgRowStatus[]);
HRESULT Hash (
HCHAPTER hChapter,
DBBKMARK cBookmarks,
const DBBKMARK rgcbBookmarks[],
const BYTE *rgpBookmarks[],
DBHASHVALUE rgHashedValues[],
DBROWSTATUS rgBookmarkStatus[]);
};
interface IRowsetNotify {
HRESULT OnFieldChange (
IRowset *pRowset,
HROW hRow,
DBORDINAL cColumns,
DBORDINAL rgColumns[],
DBREASON eReason,
DBEVENTPHASE ePhase,
BOOL fCantDeny);
HRESULT OnRowChange (
IRowset *pRowset,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBREASON eReason,
DBEVENTPHASE ePhase,
BOOL fCantDeny);
HRESULT OnRowsetChange (
IRowset * pRowset,
DBREASON eReason,
DBEVENTPHASE ePhase,
BOOL fCantDeny);
};
interface IRowsetRefresh {
HRESULT GetLastVisibleData (
HROW hRow,
HACCESSOR hAccessor,
void * pData);
HRESULT RefreshVisibleData (
HCHAPTER hChapter,
DBCOUNTITEM cRows,
const HROW rghRows[],
BOOL fOverwrite,
DBCOUNTITEM *pcRowsRefreshed,
HROW **prghRowsRefreshed,
DBROWSTATUS **prgRowStatus);
};
interface IRowsetResynch {
HRESULT GetVisibleData
(HROW hRow,
HACCESSOR hAccessor,
void * pData);
HRESULT ResynchRows (
DBCOUNTITEM cRows,
const HROW rghRows[],
DBCOUNTITEM *pcRowsResynched,
HROW **prghRowsResynched,
DBROWSTATUS **prgRowStatus);
};
interface IRowsetScroll : IRowsetLocate {
HRESULT GetApproximatePosition (
HCHAPTER hChapter,
DBBKMARK cbBookmark,
const BYTE *pBookmark,
DBCOUNTITEM *pulPosition,
DBCOUNTITEM *pcRows);
HRESULT GetRowsAtRatio (
HWATCHREGION hReserved1,
HCHAPTER hChapter,
DBCOUNTITEM ulNumerator,
DBCOUNTITEM ulDenominator,
DBROWCOUNT cRows,
DBCOUNTITEM *pcRowsObtained,
HROW **prghRows);
};
interface IRowsetUpdate : IRowsetChange {
HRESULT GetOriginalData (
HROW hRow,
HACCESSOR hAccessor,
void * pData);
HRESULT GetPendingRows (
HCHAPTER hReserved,
DBPENDINGSTATUS dwRowStatus,
DBCOUNTITEM *pcPendingRows,
HROW **prgPendingRows,
DBPENDINGSTATUS **prgPendingStatus);
HRESULT GetRowStatus(
HCHAPTER hChapter,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBPENDINGSTATUS rgPendingStatus[]);
HRESULT Undo (
HCHAPTER hReserved,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBCOUNTITEM *pcRows,
HROW **prgRows,
DBROWSTATUS **prgRowStatus);
HRESULT Update (
HCHAPTER hReserved,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBCOUNTITEM *pcRows,
HROW **prgRows,
DBROWSTATUS **prgRowStatus);
};
interface IRowsetView {
HRESULT CreateView (
IUnknown * pUnkOuter,
REFIID riid,
IUnknown ** ppView);
HRESULT GetView (
HCHAPTER hChapter,
REFIID riid,
HCHAPTER * phChapterSource,
IUnknown ** ppView);
};
interface IScopedOperations {
HRESULT Copy (
DBCOUNTITEM cRows,
LPCOLESTR rgpwszSourceURLs[ ],
LPCOLESTR rgpwszDestURLs[ ],
DBCOPYFLAGS dwCopyFlags,
IAuthenticate *pAuthenticate,
DBSTATUS rgdwStatus[ ],
LPOLESTR rgpwszNewURLs[ ],
OLECHAR **ppStringsBuffer);
HRESULT Delete (
DBCOUNTITEM cRows,
LPCOLESTR rgpwszURLs[ ],
DBDELETEFLAGS dwDeleteFlags,
DBSTATUS rgdwStatus[ ]);
HRESULT Move (
DBCOUNTITEM cRows,
LPCOLESTR rgpwszSourceURLs[ ],
LPCOLESTR rgpwszDestURLs[ ],
DBMOVEFLAGS dwMoveFlags,
IAuthenticate *pAuthenticate,
DBSTATUS rgdwStatus[ ],
LPOLESTR rgpwszNewURLs[ ],
OLECHAR **ppStringsBuffer);
HRESULT OpenRowset (
IUnknown * pUnkOuter,
DBID * pTableID,
DBID * pIndexID,
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[ ],
IUnknown ** ppRowset);
};
interface ISessionProperties {
HRESULT GetProperties (
ULONG cPropertyIDSets,
const DBPROPIDSET rgPropertyIDSets[],
ULONG * pcPropertySets,
DBPROPSET ** prgPropertySets);
HRESULT SetProperties (
ULONG cPropertySets,
DBPROPSET rgPropertySets[]);
};
interface ISequentialStream {
HRESULT Read(
void * pv,
ULONG cb,
ULONG * pcbRead);
HRESULT Write(
void const * pv,
ULONG cb,
ULONG * pcbWritten);
};
interface ISourcesRowset {
HRESULT GetSourcesRowset(
IUnknown *pUnkOuter,
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
IUnknown ** ppSourcesRowset);
};
interface ISQLErrorInfo {
HRESULT GetSQLInfo (
BSTR * pbstrSQLState,
LONG * plNativeError);
};
interface ISupportErrorInfo {
HRESULT InterfaceSupportsErrorInfo (
REFIID riid);
};
interface ITableCreation {
HRESULT GetTableDefinition(
DBID *pTableID,
DBORDINAL *pcColumnDescs,
DBCOLUMNDESC *prgColumnDescs[],
ULONG *pcPropertySets,
DBPROPSET *prgPropertySets[],
ULONG *pcConstraintDescs,
DBCONSTRAINTDESC *prgConstraintDescs[],
OLECHAR **ppwszStringBuffer);
};
interface ITableDefinition {
HRESULT AddColumn(
DBID * pTableID,
DBCOLUMNDESC * pColumnDesc,
DBID ** ppColumnID);
HRESULT CreateTable(
IUnknown *pUnkOuter,
DBID *pTableID,
DBORDINAL cColumnDescs,
const DBCOLUMNDESC rgColumnDescs[],
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
DBID **ppTableID,
IUnknown **ppRowset);
HRESULT DropColumn(
DBID * pTableID,
DBID * pColumnID);
HRESULT DropTable (
DBID * pTableID);
};
interface ITableDefinitionWithConstraints {
HRESULT AddConstraint(
DBID * pTableID,
DBCONSTRAINTDESC * pConstraintDesc);
HRESULT CreateTableWithConstraints(
IUnknown *pUnkOuter,
DBID *pTableID,
DBORDINAL cColumnDescs,
const DBCOLUMNDESC rgColumnDescs[],
ULONG cConstraintDescs,
DBCONSTRAINTDESC rgConstraintDescs[],
REFIID riid,
ULONG cPropertySets,
DBPROPSET rgPropertySets[],
DBID **ppTableID,
IUnknown **ppRowset);
HRESULT DropConstraint(
DBID * pTableID,
DBID * pConstraintID);
};
interface ITransaction {
HRESULT Abort(
BOID * pboidReason,
BOOL fRetaining,
BOOL fAsync);
HRESULT Commit(
BOOL fRetaining,
DWORD grfTC,
DWORD grfRM);
HRESULT GetTransactionInfo(
XACTTRANSINFO * pInfo);
};
interface ITransactionJoin {
HRESULT GetOptionsObject (
ITransactionOptions ** ppOptions);
HRESULT JoinTransaction (
IUnknown * punkTransactionCoord,
ISOLEVEL isoLevel,
ULONG isoFlags,
ITransactionOptions * pOtherOptions);
};
interface ITransactionLocal : ITransaction {
HRESULT GetOptionsObject (
ITransactionOptions ** ppOptions);
HRESULT StartTransaction (
ISOLEVEL isoLevel,
ULONG isoFlags,
ITransactionOptions * pOtherOptions,
ULONG * pulTransactionLevel);
};
interface ITransactionObject {
HRESULT GetTransactionObject (
ULONG ulTransactionLevel,
ITransaction ** ppTransactionObject);
};
interface ITransactionOptions {
HRESULT GetOptions(
XACTOPT * pOptions);
HRESULT SetOptions(
XACTOPT * pOptions);
};
interface IViewChapter {
HRESULT GetSpecification (
REFIID riid,
IUnknown ** ppRowset);
HRESULT OpenViewChapter (
HCHAPTER hSource,
HCHAPTER * phViewChapter);
};
interface IViewFilter {
HRESULT GetFilter (
HACCESSOR hAccessor,
DBCOUNTITEM *pcRows,
DBCOMPAREOP *pCompareOps[],
void *pCriteriaData);
HRESULT GetFilterBindings(
DBCOUNTITEM *pcBindings,
DBBINDING **prgBindings);
HRESULT SetFilter (
HACCESSOR hAccessor,
DBCOUNTITEM cRows,
DBCOMPAREOP CompareOps[],
void *pCriteriaData);
};
interface IViewRowset {
HRESULT GetSpecification (
REFIID riid,
IUnknown ** ppObject);
HRESULT OpenViewRowset (
IUnknown * pUnkOuter,
REFIID riid,
IUnknown ** ppRowset);
};
interface IViewSort {
HRESULT GetSortOrder (
DBORDINAL *pcColumns,
DBORDINAL *prgColumns[],
DBSORT *prgOrders[]);
HRESULT SetSortOrder (
DBORDINAL cColumns,
const DBORDINAL rgColumns[],
const DBSORT rgOrders[]);
};
This topic is a part of: