xpmgr/BuildTools/Include/tblcrt.idl

58 lines
2.0 KiB
Plaintext

//-----------------------------------------------------------------------------
// File: tblcrt.idl
//
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: OLE DB interface definition
//
// Comments:
//
//-----------------------------------------------------------------------------
#include "idlmulti.h"
LOCAL_INTERFACE(0c733abc-2a1c-11ce-ade5-00aa0044773d)
interface ITableCreation : ITableDefinition
{
#ifdef _WIN64 //Use casting by ULONG in attribute size_is under 64-bit environment.
[local]
HRESULT GetTableDefinition(
[in, annotation("__in")] DBID* pTableID,
[out, annotation("__out_opt")] DBORDINAL* pcColumnDescs,
[out, size_is(,(ULONG)*pcColumnDescs), annotation("__out_ecount_opt(*pcColumnDescs)")]
DBCOLUMNDESC* prgColumnDescs[],
[out, annotation("__out_opt")] ULONG* pcPropertySets,
[out, size_is(,*pcPropertySets), annotation("__out_ecount_opt(*pcPropertySets)")]
DBPROPSET* prgPropertySets[],
[out, annotation("__out_opt")] ULONG* pcConstraintDescs,
[out, size_is(,*pcConstraintDescs), annotation("__out_ecount_opt(*pcConstraintDescs)")]
DBCONSTRAINTDESC* prgConstraintDescs[],
[out, annotation("__deref_opt_out_opt")]OLECHAR** ppwszStringBuffer
);
#else //No casting by ULONG for 32-bit.
[local]
HRESULT GetTableDefinition(
[in, annotation("__in")] DBID* pTableID,
[out, annotation("__out_opt")] DBORDINAL* pcColumnDescs,
[out, size_is(,*pcColumnDescs), annotation("__out_ecount_opt(*pcColumnDescs)")]
DBCOLUMNDESC* prgColumnDescs[],
[out, annotation("__out_opt")] ULONG* pcPropertySets,
[out, size_is(,*pcPropertySets), annotation("__out_ecount_opt(*pcPropertySets)")]
DBPROPSET* prgPropertySets[],
[out, annotation("__out_opt")] ULONG* pcConstraintDescs,
[out, size_is(,*pcConstraintDescs), annotation("__out_ecount_opt(*pcConstraintDescs)")]
DBCONSTRAINTDESC* prgConstraintDescs[],
[out, annotation("__deref_opt_out_opt")]OLECHAR** ppwszStringBuffer
);
#endif
}