home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 September / VPR0009A.BIN / VS60SP4JPN / support / jetoledb.idl < prev    next >
Text File  |  1999-01-29  |  3KB  |  110 lines

  1. import "wtypes.idl";
  2. import "oaidl.idl";
  3. import "oledb.idl";
  4. #include "idlmulti.h"
  5.  
  6. typedef DWORD DBOBJTYPE;
  7. enum DBTYPE_ENUM {
  8.     DBJETOBJECT_TABLE = 0x0001,
  9.     DBJETOBJECT_INDEX = 0x0002,
  10.     DBJETOBJECT_VIEWS = 0x0004
  11.     };
  12.  
  13. typedef DWORD USERATTRIBUTESFLAGS;
  14.  
  15. enum USERATTRIBUTESFLAGS_ENUM {
  16.     DBJETOLEDB_USERATTRIBUTES_ALLCOLLECTIONS = 1,
  17.     DBJETOLEDB_USERATTRIBUTES_INHERITED = 2,
  18.     };
  19.  
  20.  
  21. // IDBUserAttributes:
  22. // This interface exposes the ability to talk to the Jet Properties interface
  23. REMOTED_INTERFACE(cb9497b0-20b8-11d2-a4dc-00c04f991c78)
  24.  
  25. interface IDBUserAttributes : IUnknown {
  26.  
  27.     HRESULT CreateObject( 
  28.             [in]    DBID*           pParentID,
  29.             [in]   DBID*           pObjectID,
  30.             [in]   DBOBJTYPE       dwType);
  31.  
  32.         HRESULT DeleteObject( 
  33.              [in]   DBID*           pParentID,
  34.              [in]   DBID*           pObjectID);
  35.  
  36.          HRESULT RenameObject( 
  37.          [in]       DBID*           pParentID,
  38.              [in]   DBID*           pObjectID,
  39.              [in]   LPWSTR          pwszNewName);
  40.  
  41.          HRESULT DeleteAttribute( 
  42.          [in]       DBID*           pParentID,
  43.              [in]   DBID*           pObjectID,
  44.              [in]   DBID*           pSubObjectID,
  45.              [in]   DBID*           pAttributeID);
  46.     
  47.          HRESULT SetAttributeValue( 
  48.          [in]       DBID*           pParentID,
  49.              [in]   DBID*           pObjectID,
  50.              [in]   DBID*           pSubObjectID,
  51.              [in]    DBID*           pAttributeID,
  52.              [in]   VARIANT         vValue,
  53.              [in]    ULONG            grbit);
  54.  
  55.          HRESULT GetAttributeValue( 
  56.             [in]        DBID*           pParentID,
  57.             [in]        DBID*           pObjectID,
  58.             [in]        DBID*           pSubObjectID,
  59.             [in]        DBID*           pAttributeID,
  60.             [in, out]    VARIANT*        pvValue,
  61.             [in]        ULONG            grbit);
  62.  
  63.          HRESULT GetAttributeRowset( 
  64.             [in]                                IUnknown        *pUnkOuter,
  65.             [in]                                WCHAR            *pwszParentID,
  66.             [in]                                WCHAR            *pwszObjectID,
  67.             [in]                                WCHAR            *pwszSubObjectID,
  68.             [in]                                WCHAR            *pwszAttributeID,
  69.             [in]                                ULONG            dwFlags,
  70.             [in]                                ULONG            cPropertySets, 
  71.             [in, out, size_is(cPropertySets)]    DBPROPSET        *rgPropertySets,
  72.             [in]                                REFIID            riid,
  73.             [out, iid_is(riid)]                    IUnknown        **ppRowset);
  74.     }
  75.  
  76.  
  77.  
  78.  
  79. // IDBUtility:
  80. // This routine exposes compaction and repair routines from the
  81. // DSO level.  Users must have set a valid Userid/pw in their
  82. // properties, just as in IDBDataSourceAdmin, to make this 
  83. // function properly.  
  84.  
  85. // There is no Callback support in these routines, nor is 
  86. // there an exposed way to pass grbits - if you really need these,
  87. // email <conorc> and plead your case
  88. REMOTED_INTERFACE(2a4b6284-eeb4-11d1-a4d9-00c04f991c78)
  89. interface IJetCompact : IUnknown {
  90.  
  91.         HRESULT Compact
  92.             ( 
  93.             [in] ULONG cPropertySets,
  94.             [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[]
  95.             );
  96.     }
  97.  
  98.  
  99. // IIdle - used to expose the JetIdle inteface
  100. // Appears off the session object in OLEDB
  101. REMOTED_INTERFACE(f497cfc8-8ed8-11d1-9f09-00c04fc2c2e0)
  102. interface IIdle : IUnknown 
  103.     {
  104.         HRESULT Idle(
  105.             [in]    ULONG        dwFlags
  106.             );
  107.     }
  108.  
  109.  
  110.