JD2022-TU1/main/extern/Camcam/PlatformSDK/Include/scpops.idl

156 lines
4.2 KiB
Text

//-----------------------------------------------------------------------------
// File: scpops.idl
//
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: OLE DB interface definition
//
// Comments:
//
//-----------------------------------------------------------------------------
#include "idlmulti.h"
REMOTED_INTERFACE(0c733ab0-2a1c-11ce-ade5-00aa0044773d)
interface IScopedOperations : IBindResource
{
typedef DWORD DBCOPYFLAGS;
enum DBCOPYFLAGSENUM {
DBCOPY_ASYNC = 0x00000100,
DBCOPY_REPLACE_EXISTING = 0x00000200,
DBCOPY_ALLOW_EMULATION = 0x00000400,
DBCOPY_NON_RECURSIVE = 0x00000800,
DBCOPY_ATOMIC = 0x00001000
};
typedef DWORD DBMOVEFLAGS;
enum DBMOVEFLAGSENUM {
DBMOVE_REPLACE_EXISTING = 0x00000001,
DBMOVE_ASYNC = 0x00000100,
DBMOVE_DONT_UPDATE_LINKS = 0x00000200,
DBMOVE_ALLOW_EMULATION = 0x00000400,
DBMOVE_ATOMIC = 0x00001000
};
typedef DWORD DBDELETEFLAGS;
enum DBDELETEFLAGSENUM {
DBDELETE_ASYNC = 0x00000100,
DBDELETE_ATOMIC = 0x00001000
};
[local]
HRESULT Copy(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR rgpwszSourceURLs[],
[in, size_is((ULONG)cRows)] LPCOLESTR rgpwszDestURLs[],
[in] DWORD dwCopyFlags,
[in, unique] IAuthenticate* pAuthenticate,
[in, out, size_is((ULONG)cRows)] DBSTATUS rgdwStatus[],
[out, size_is((ULONG)cRows),
annotation("__inout_ecount_opt(cRows)")]
LPOLESTR rgpwszNewURLs[],
[out, annotation("__deref_out_z_opt")]OLECHAR **ppStringsBuffer
);
#ifndef NO_REMOTE
[call_as(Copy)]
HRESULT RemoteCopy(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR * rgpwszSourceURLs,
[in, size_is((ULONG)cRows)] LPCOLESTR * rgpwszDestURLs,
[in] DWORD dwCopyFlags,
[in] IAuthenticate * pAuthenticate,
[out, size_is((ULONG)cRows)] DBSTATUS * rgdwStatus,
[out, size_is(,(ULONG)cRows)] DBBYTEOFFSET ** prgulNewURLOffsets,
[in, out] ULONG * pcbStringsBuffer,
[in, out, unique, size_is(,*pcbStringsBuffer)] OLECHAR ** ppStringsBuffer
);
#endif
[local]
HRESULT Move(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR rgpwszSourceURLs[],
[in, size_is((ULONG)cRows)] LPCOLESTR rgpwszDestURLs[],
[in] DWORD dwMoveFlags,
[in, unique] IAuthenticate* pAuthenticate,
[in, out, size_is((ULONG)cRows)] DBSTATUS rgdwStatus[],
[out, size_is((ULONG)cRows),
annotation("__inout_ecount_opt(cRows)")] LPOLESTR rgpwszNewURLs[],
[out, annotation("__deref_out_z_opt")] OLECHAR **ppStringsBuffer
);
#ifndef NO_REMOTE
[call_as(Move)]
HRESULT RemoteMove(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR * rgpwszSourceURLs,
[in, size_is((ULONG)cRows)] LPCOLESTR * rgpwszDestURLs,
[in] DWORD dwMoveFlags,
[in] IAuthenticate * pAuthenticate,
[out, size_is((ULONG)cRows)] DBSTATUS * rgdwStatus,
[out, size_is(,(ULONG)cRows)] DBBYTEOFFSET ** prgulNewURLOffsets,
[in, out] ULONG * pcbStringsBuffer,
[in, out, unique, size_is(,*pcbStringsBuffer)] OLECHAR ** ppStringsBuffer
);
#endif
[local]
HRESULT Delete (
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR rgpwszURLs[],
[in] DWORD dwDeleteFlags,
[in, out, size_is((ULONG)cRows)]DBSTATUS rgdwStatus[]
);
#ifndef NO_REMOTE
[call_as(Delete)]
HRESULT RemoteDelete(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows)] LPCOLESTR * rgpwszURLs,
[in] DWORD dwDeleteFlags,
[out, size_is((ULONG)cRows)] DBSTATUS * rgdwStatus
);
#endif
[local]
HRESULT OpenRowset(
[in] IUnknown *pUnkOuter,
[in, unique] DBID *pTableID,
[in, unique] DBID *pIndexID,
[in] REFIID riid,
[in] ULONG cPropertySets,
[in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[],
[out, iid_is(riid)] IUnknown **ppRowset
);
#ifndef NO_REMOTE
[call_as(OpenRowset)]
HRESULT RemoteOpenRowset(
[in] IUnknown * pUnkOuter,
[in, unique] DBID * pTableID,
[in, unique] DBID * pIndexID,
[in] REFIID riid,
[in] ULONG cPropertySets,
[in, unique, size_is(cPropertySets)] DBPROPSET * rgPropertySets,
[in, out, unique, iid_is(riid)] IUnknown ** ppRowset,
[in] ULONG cTotalProps,
[out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus
);
#endif
};