| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
/********************************************************
* *
* Copyright (C) Microsoft. All rights reserved. *
* *
********************************************************/
//-----------------------------------------------------------------------------
// File: scpops.idl
//
// Contents: OLE DB interface definition
//
// Comments:
//
//-----------------------------------------------------------------------------
cpp_quote("#include <winapifamily.h>")
#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
#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
};
#ifdef _WIN64 //Use casting by ULONG in attribute size_is under 64-bit environment.
[local]
HRESULT Copy(
[in] DBCOUNTITEM cRows,
[in, size_is((ULONG)cRows), annotation("_In_reads_opt_(cRows)")] LPCOLESTR rgpwszSourceURLs[],
[in, size_is((ULONG)cRows), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszDestURLs[],
[in] DWORD dwCopyFlags,
[in, unique, annotation("_In_")] IAuthenticate* pAuthenticate,
[in, out, size_is((ULONG)cRows), annotation("_Out_writes_(cRows)")] DBSTATUS rgdwStatus[],
[out, size_is((ULONG)cRows), annotation("_Out_writes_opt_(cRows)")] LPOLESTR rgpwszNewURLs[],
[out, annotation("_Outptr_result_maybenull_z_")] 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), annotation("_In_reads_opt_(cRows)")] LPCOLESTR rgpwszSourceURLs[],
[in, size_is((ULONG)cRows), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszDestURLs[],
[in]DWORD dwMoveFlags,
[in, unique, annotation("_In_")] IAuthenticate* pAuthenticate,
[in, out, size_is((ULONG)cRows), annotation("_Out_writes_(cRows)")] DBSTATUS rgdwStatus[],
[out, size_is((ULONG)cRows), annotation("_Out_writes_opt_(cRows)")] LPOLESTR rgpwszNewURLs[],
[out, annotation("_Outptr_result_maybenull_z_")] 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), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszURLs[],
[in] DWORD dwDeleteFlags,
[in, out, size_is((ULONG)cRows), annotation("_Out_writes_(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
#else //No casting by ULONG for 32-bit.
[local]
HRESULT Copy(
[in] DBCOUNTITEM cRows,
[in, size_is(cRows), annotation("_In_reads_opt_(cRows)")] LPCOLESTR rgpwszSourceURLs[],
[in, size_is(cRows), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszDestURLs[],
[in] DWORD dwCopyFlags,
[in, unique, annotation("_In_opt_")] IAuthenticate* pAuthenticate,
[in, out, size_is(cRows), annotation("_Out_writes_(cRows)")] DBSTATUS rgdwStatus[],
[out, size_is(cRows), annotation("_Out_writes_opt_(cRows)")] LPOLESTR rgpwszNewURLs[],
[out, annotation("_Outptr_result_maybenull_z_")] OLECHAR **ppStringsBuffer
);
#ifndef NO_REMOTE
[call_as(Copy)]
HRESULT RemoteCopy(
[in] DBCOUNTITEM cRows,
[in, size_is(cRows)] LPCOLESTR * rgpwszSourceURLs,
[in, size_is(cRows)] LPCOLESTR * rgpwszDestURLs,
[in] DWORD dwCopyFlags,
[in] IAuthenticate * pAuthenticate,
[out, size_is(cRows)] DBSTATUS * rgdwStatus,
[out, size_is(,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(cRows), annotation("_In_reads_opt_(cRows)")] LPCOLESTR rgpwszSourceURLs[],
[in, size_is(cRows), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszDestURLs[],
[in] DWORD dwMoveFlags,
[in, unique, annotation("_In_opt_")] IAuthenticate* pAuthenticate,
[in, out, size_is(cRows), annotation("_Out_writes_(cRows)")] DBSTATUS rgdwStatus[],
[out, size_is(cRows), annotation("_Out_writes_opt_(cRows)")] LPOLESTR rgpwszNewURLs[],
[out, annotation("_Outptr_result_maybenull_z_")] OLECHAR **ppStringsBuffer
);
#ifndef NO_REMOTE
[call_as(Move)]
HRESULT RemoteMove(
[in] DBCOUNTITEM cRows,
[in, size_is(cRows)] LPCOLESTR * rgpwszSourceURLs,
[in, size_is(cRows)] LPCOLESTR * rgpwszDestURLs,
[in] DWORD dwMoveFlags,
[in] IAuthenticate * pAuthenticate,
[out, size_is(cRows)] DBSTATUS * rgdwStatus,
[out, size_is(,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(cRows), annotation("_In_reads_(cRows)")] LPCOLESTR rgpwszURLs[],
[in] DWORD dwDeleteFlags,
[in, out, size_is(cRows), annotation("_Out_writes_(cRows)")] DBSTATUS rgdwStatus[]
);
#ifndef NO_REMOTE
[call_as(Delete)]
HRESULT RemoteDelete(
[in] DBCOUNTITEM cRows,
[in, size_is(cRows)] LPCOLESTR * rgpwszURLs,
[in] DWORD dwDeleteFlags,
[out, size_is(cRows)] DBSTATUS * rgdwStatus
);
#endif
#endif
[local]
HRESULT OpenRowset(
[in, annotation("_In_opt_")] IUnknown *pUnkOuter,
[in, unique, annotation("_In_opt_")] DBID *pTableID,
[in, unique, annotation("_In_opt_")] DBID *pIndexID,
[in] REFIID riid,
[in] ULONG cPropertySets,
[in, out, size_is(cPropertySets), annotation("_Inout_updates_(cPropertySets)")] DBPROPSET rgPropertySets[],
[out, iid_is(riid), annotation("_Out_opt_")] 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
};
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion