//----------------------------------------------------------------------------- // 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 }