110 lines
2.9 KiB
Plaintext
110 lines
2.9 KiB
Plaintext
import "wtypes.idl";
|
|
import "oaidl.idl";
|
|
import "oledb.idl";
|
|
#include "idlmulti.h"
|
|
|
|
typedef DWORD DBOBJTYPE;
|
|
enum DBTYPE_ENUM {
|
|
DBJETOBJECT_TABLE = 0x0001,
|
|
DBJETOBJECT_INDEX = 0x0002,
|
|
DBJETOBJECT_VIEWS = 0x0004
|
|
};
|
|
|
|
typedef DWORD USERATTRIBUTESFLAGS;
|
|
|
|
enum USERATTRIBUTESFLAGS_ENUM {
|
|
DBJETOLEDB_USERATTRIBUTES_ALLCOLLECTIONS = 1,
|
|
DBJETOLEDB_USERATTRIBUTES_INHERITED = 2,
|
|
};
|
|
|
|
|
|
// IDBUserAttributes:
|
|
// This interface exposes the ability to talk to the Jet Properties interface
|
|
REMOTED_INTERFACE(cb9497b0-20b8-11d2-a4dc-00c04f991c78)
|
|
|
|
interface IDBUserAttributes : IUnknown {
|
|
|
|
HRESULT CreateObject(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID,
|
|
[in] DBOBJTYPE dwType);
|
|
|
|
HRESULT DeleteObject(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID);
|
|
|
|
HRESULT RenameObject(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID,
|
|
[in] LPWSTR pwszNewName);
|
|
|
|
HRESULT DeleteAttribute(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID,
|
|
[in] DBID* pSubObjectID,
|
|
[in] DBID* pAttributeID);
|
|
|
|
HRESULT SetAttributeValue(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID,
|
|
[in] DBID* pSubObjectID,
|
|
[in] DBID* pAttributeID,
|
|
[in] VARIANT vValue,
|
|
[in] ULONG grbit);
|
|
|
|
HRESULT GetAttributeValue(
|
|
[in] DBID* pParentID,
|
|
[in] DBID* pObjectID,
|
|
[in] DBID* pSubObjectID,
|
|
[in] DBID* pAttributeID,
|
|
[in, out] VARIANT* pvValue,
|
|
[in] ULONG grbit);
|
|
|
|
HRESULT GetAttributeRowset(
|
|
[in] IUnknown *pUnkOuter,
|
|
[in] WCHAR *pwszParentID,
|
|
[in] WCHAR *pwszObjectID,
|
|
[in] WCHAR *pwszSubObjectID,
|
|
[in] WCHAR *pwszAttributeID,
|
|
[in] ULONG dwFlags,
|
|
[in] ULONG cPropertySets,
|
|
[in, out, size_is(cPropertySets)] DBPROPSET *rgPropertySets,
|
|
[in] REFIID riid,
|
|
[out, iid_is(riid)] IUnknown **ppRowset);
|
|
}
|
|
|
|
|
|
|
|
|
|
// IDBUtility:
|
|
// This routine exposes compaction and repair routines from the
|
|
// DSO level. Users must have set a valid Userid/pw in their
|
|
// properties, just as in IDBDataSourceAdmin, to make this
|
|
// function properly.
|
|
|
|
// There is no Callback support in these routines, nor is
|
|
// there an exposed way to pass grbits - if you really need these,
|
|
// email <conorc> and plead your case
|
|
REMOTED_INTERFACE(2a4b6284-eeb4-11d1-a4d9-00c04f991c78)
|
|
interface IJetCompact : IUnknown {
|
|
|
|
HRESULT Compact
|
|
(
|
|
[in] ULONG cPropertySets,
|
|
[in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[]
|
|
);
|
|
}
|
|
|
|
|
|
// IIdle - used to expose the JetIdle inteface
|
|
// Appears off the session object in OLEDB
|
|
REMOTED_INTERFACE(f497cfc8-8ed8-11d1-9f09-00c04fc2c2e0)
|
|
interface IIdle : IUnknown
|
|
{
|
|
HRESULT Idle(
|
|
[in] ULONG dwFlags
|
|
);
|
|
}
|
|
|
|
|