mirror of https://github.com/UMSKT/xpmgr.git
141 lines
3.9 KiB
Plaintext
141 lines
3.9 KiB
Plaintext
//-----------------------------------------------------------------------------
|
|
// File: tabdef.idl
|
|
//
|
|
// Copyright: Copyright (c) Microsoft Corporation
|
|
//
|
|
// Contents: OLE DB interface definition
|
|
//
|
|
// Comments:
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "idlmulti.h"
|
|
//
|
|
|
|
REMOTED_INTERFACE(0c733a86-2a1c-11ce-ade5-00aa0044773d)
|
|
|
|
|
|
interface ITableDefinition : IUnknown {
|
|
|
|
#ifdef _WIN64 //Use casting by ULONG in attribute size_is under 64-bit environment.
|
|
|
|
[local]
|
|
HRESULT CreateTable(
|
|
[in, annotation("__in_opt")] IUnknown * pUnkOuter,
|
|
[in, annotation("__in_opt")] DBID * pTableID,
|
|
[in] DBORDINAL cColumnDescs,
|
|
[in, size_is((ULONG)cColumnDescs), annotation("__in_ecount_opt(cColumnDescs)")]
|
|
const DBCOLUMNDESC rgColumnDescs[],
|
|
[in, annotation("__in")] REFIID riid,
|
|
[in] ULONG cPropertySets,
|
|
[in, out, size_is(cPropertySets), annotation("__inout_ecount_opt(cPropertySets)")]
|
|
DBPROPSET rgPropertySets[],
|
|
[out, annotation("__deref_opt_out")] DBID ** ppTableID,
|
|
[out, iid_is(riid), annotation("__deref_opt_out")] IUnknown ** ppRowset
|
|
);
|
|
|
|
#ifndef NO_REMOTE
|
|
|
|
[call_as(CreateTable)]
|
|
HRESULT RemoteCreateTable(
|
|
[in] IUnknown * pUnkOuter,
|
|
[in, unique] DBID * pTableID,
|
|
[in] DBORDINAL cColumnDescs,
|
|
[in, size_is((ULONG)cColumnDescs)] const DBCOLUMNDESC * rgColumnDescs,
|
|
[in] REFIID riid,
|
|
[in] ULONG cPropertySets,
|
|
[in, unique, size_is(cPropertySets)] DBPROPSET * rgPropertySets,
|
|
[in, out, unique] DBID ** ppTableID,
|
|
[in, out, unique, iid_is(riid)] IUnknown ** ppRowset,
|
|
[in] ULONG cTotalProps,
|
|
[out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus,
|
|
[out] BOOL * pfTableCreated,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
#endif
|
|
|
|
#else //No casting by ULONG for 32-bit.
|
|
|
|
[local]
|
|
HRESULT CreateTable(
|
|
[in, annotation("__in_opt")] IUnknown * pUnkOuter,
|
|
[in, annotation("__in_opt")] DBID * pTableID,
|
|
[in] DBORDINAL cColumnDescs,
|
|
[in, size_is(cColumnDescs), annotation("__in_ecount_opt(cColumnDescs)")]
|
|
const DBCOLUMNDESC rgColumnDescs[],
|
|
[in, annotation("__in")] REFIID riid,
|
|
[in] ULONG cPropertySets,
|
|
[in, out, size_is(cPropertySets), annotation("__inout_ecount_opt(cPropertySets)")]
|
|
DBPROPSET rgPropertySets[],
|
|
[out, annotation("__deref_opt_out")] DBID ** ppTableID,
|
|
[out, iid_is(riid), annotation("__deref_opt_out")] IUnknown ** ppRowset
|
|
);
|
|
|
|
#ifndef NO_REMOTE
|
|
|
|
[call_as(CreateTable)]
|
|
HRESULT RemoteCreateTable(
|
|
[in] IUnknown * pUnkOuter,
|
|
[in, unique] DBID * pTableID,
|
|
[in] DBORDINAL cColumnDescs,
|
|
[in, size_is(cColumnDescs)] const DBCOLUMNDESC * rgColumnDescs,
|
|
[in] REFIID riid,
|
|
[in] ULONG cPropertySets,
|
|
[in, unique, size_is(cPropertySets)] DBPROPSET * rgPropertySets,
|
|
[in, out, unique] DBID ** ppTableID,
|
|
[in, out, unique, iid_is(riid)] IUnknown ** ppRowset,
|
|
[in] ULONG cTotalProps,
|
|
[out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus,
|
|
[out] BOOL * pfTableCreated,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
[local]
|
|
HRESULT DropTable(
|
|
[in, unique, annotation("__in")] DBID * pTableID
|
|
);
|
|
|
|
[call_as(DropTable)]
|
|
HRESULT RemoteDropTable(
|
|
[in, unique] DBID * pTableID,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
[local]
|
|
HRESULT AddColumn(
|
|
[in, annotation("__in")] DBID * pTableID,
|
|
[in, out, annotation("__in")] DBCOLUMNDESC * pColumnDesc,
|
|
[out, annotation("__deref_opt_out")] DBID ** ppColumnID
|
|
);
|
|
|
|
[call_as(AddColumn)]
|
|
HRESULT RemoteAddColumn(
|
|
[in] DBID * pTableID,
|
|
[in] DBCOLUMNDESC * pColumnDesc,
|
|
[in, out, unique] DBID ** ppColumnID,
|
|
[in] ULONG cTotalProps,
|
|
[out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
[local]
|
|
HRESULT DropColumn(
|
|
[in, unique, annotation("__in")] DBID * pTableID,
|
|
[in, unique, annotation("__in")] DBID * pColumnID
|
|
);
|
|
|
|
[call_as(DropColumn)]
|
|
HRESULT RemoteDropColumn(
|
|
[in, unique] DBID * pTableID,
|
|
[in, unique] DBID * pColumnID,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
}
|
|
|