Appendix E: Interface Summary

OLE DB Programmer's Reference

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,       ULONG         ulOperation,       DBCOUNTITEM   ulProgress,       DBCOUNTITEM   ulProgressMax,       ULONG         ulAsynchPhase,       LPOLESTR      pwszStatusText);    HRESULT OnStop (       HCHAPTER   hChapter,       ULONG      ulOperation,       HRESULT    hrStatus,       LPOLESTR   pwszStatusText); }; interface IDBAsynchStatus {    HRESULT Abort (       HCHAPTER   hChapter,       ULONG      ulOperation);    HRESULT GetStatus (       HCHAPTER       hChapter,       ULONG          ulOperation,       DBCOUNTITEM   *pulProgress,       DBCOUNTITEM   *pulProgressMax,       ULONG         *pulAsynchPhase,       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[],    ULONG           *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 Read(    void *    pv,    ULONG     cb,    ULONG *   pcbRead); HRESULT Write(    Void const *   pv,    ULONG          cb,    ULONG *        pcbWritten); }; interface ISequentialStream {    HRESULT GetProperties (       ULONG               cPropertyIDSets,       const DBPROPIDSET   rgPropertyIDSets[],       ULONG *             pcPropertySets,       DBPROPSET **        prgPropertySets);    HRESULT SetProperties (       ULONG       cPropertySets,       DBPROPSET   rgPropertySets[]); }; 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[]); }; 

1998-2001 Microsoft Corporation. All rights reserved.



Microsoft Ole Db 2.0 Programmer's Reference and Data Access SDK
Microsoft OLE DB 2.0 Programmers Reference and Data Access SDK (Microsoft Professional Editions)
ISBN: 0735605904
EAN: 2147483647
Year: 1998
Pages: 1083

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net