diff --git a/dlls/qmgrprxy/qmgrprxy.idl b/dlls/qmgrprxy/qmgrprxy.idl index 97c1da3fd79..046c9ca9057 100644 --- a/dlls/qmgrprxy/qmgrprxy.idl +++ b/dlls/qmgrprxy/qmgrprxy.idl @@ -24,6 +24,8 @@ #define DO_NO_IMPORTS #include "bits1_5.idl" +#include "bits2_0.idl" +#include "bits2_5.idl" #include "bits3_0.idl" [ diff --git a/include/Makefile.in b/include/Makefile.in index ad87f476cd6..499c5d4001f 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -15,6 +15,8 @@ PUBLIC_IDL_H_SRCS = \ bdaiface.idl \ bits.idl \ bits1_5.idl \ + bits2_0.idl \ + bits2_5.idl \ bits3_0.idl \ comcat.idl \ commoncontrols.idl \ diff --git a/include/bits2_0.idl b/include/bits2_0.idl new file mode 100644 index 00000000000..efe6ddea315 --- /dev/null +++ b/include/bits2_0.idl @@ -0,0 +1,95 @@ +/* + * Background Intelligent Transfer Service (BITS) 2.0 interface + * + * Copyright 2015 Hans Leidekker for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#ifndef DO_NO_IMPORTS +import "bits.idl"; +import "bits1_5.idl"; +#endif + +cpp_quote("#define BG_COPY_FILE_OWNER 1") +cpp_quote("#define BG_COPY_FILE_GROUP 2") +cpp_quote("#define BG_COPY_FILE_DACL 4") +cpp_quote("#define BG_COPY_FILE_SACL 8") +cpp_quote("#define BG_COPY_FILE_ALL 15") + +cpp_quote("#define BG_LENGTH_TO_EOF (UINT64)(-1)") + +typedef struct _BG_FILE_RANGE +{ + UINT64 InitialOffset; + UINT64 Length; +} BG_FILE_RANGE; + +[ + uuid(443c8934-90ff-48ed-bcde-26f5c7450042), + odl +] +interface IBackgroundCopyJob3 : IBackgroundCopyJob2 +{ + HRESULT ReplaceRemotePrefix( + [in] LPCWSTR OldPrefix, + [in] LPCWSTR NewPrefix); + + HRESULT AddFileWithRanges( + [in] LPCWSTR RemoteUrl, + [in] LPCWSTR LocalName, + [in] DWORD RangeCount, + [in, size_is(RangeCount)] BG_FILE_RANGE Ranges[]); + + HRESULT SetFileACLFlags( + [in] DWORD Flags); + + HRESULT GetFileACLFlags( + [out, ref] DWORD *Flags); +} + +[ + uuid(83e81b93-0873-474d-8a8c-f2018b1a939c), + odl +] +interface IBackgroundCopyFile2 : IBackgroundCopyFile +{ + HRESULT GetFileRanges( + [in, out, unique] DWORD *RangeCount, + [out, size_is(, *RangeCount)] BG_FILE_RANGE **Ranges); + + HRESULT SetRemoteName( + LPCWSTR Val); +} + +[ + uuid(2289a9af-dc96-486e-b268-89c9e3397c3d), + version(1.0) +] +library BackgroundCopyManager2_0 +{ + [ + uuid(6d18ad12-bde3-4393-b311-099c346e6df9) + ] + coclass BackgroundCopyManager2_0 + { + [default] interface IBackgroundCopyManager; + }; + + interface IBackgroundCopyCallback; + interface IBackgroundCopyJob3; + interface IBackgroundCopyFile2; +} diff --git a/include/bits2_5.idl b/include/bits2_5.idl new file mode 100644 index 00000000000..29ea75ce03a --- /dev/null +++ b/include/bits2_5.idl @@ -0,0 +1,100 @@ +/* + * Background Intelligent Transfer Service (BITS) 2.5 interface + * + * Copyright 2015 Hans Leidekker for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#ifndef DO_NO_IMPORTS +import "bits.idl"; +import "bits1_5.idl"; +import "bits2_0.idl"; +#endif + +[ + uuid(f1bd1079-9f01-4bdc-8036-f09b70095066), + odl +] +interface IBackgroundCopyJobHttpOptions : IUnknown +{ + typedef enum + { + BG_CERT_STORE_LOCATION_CURRENT_USER, + BG_CERT_STORE_LOCATION_LOCAL_MACHINE, + BG_CERT_STORE_LOCATION_CURRENT_SERVICE, + BG_CERT_STORE_LOCATION_SERVICES, + BG_CERT_STORE_LOCATION_USERS, + BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY, + BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY, + BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE + } BG_CERT_STORE_LOCATION; + + HRESULT SetClientCertificateByID( + [in] BG_CERT_STORE_LOCATION StoreLocation, + [in] LPCWSTR StoreName, + [in, size_is(20), ref] BYTE *pCertHashBlob + ); + + HRESULT SetClientCertificateByName( + [in] BG_CERT_STORE_LOCATION StoreLocation, + [in] LPCWSTR StoreName, + [in] LPCWSTR SubjectName + ); + + HRESULT RemoveClientCertificate(); + + HRESULT GetClientCertificate( + [out, ref] BG_CERT_STORE_LOCATION *pStoreLocation, + [out, ref] LPWSTR *pStoreName, + [out, size_is(, 20), ref] BYTE **ppCertHashBlob, + [out, ref] LPWSTR *pSubjectName + ); + + HRESULT SetCustomHeaders( + [in, unique] LPCWSTR RequestHeaders + ); + + HRESULT GetCustomHeaders( + [out] LPWSTR *pRequestHeaders + ); + + HRESULT SetSecurityFlags( + [in] ULONG Flags + ); + + HRESULT GetSecurityFlags( + [out, ref] ULONG *pFlags + ); +} + +[ + uuid(4974177c-3bb6-4c37-9ff0-6b7426f0aba9), + version(1.0) +] +library BackgroundCopyManager2_5 +{ + [ + uuid(03ca98d6-ff5d-49b8-abc6-03dd84127020) + ] + coclass BackgroundCopyManager2_5 + { + [default] interface IBackgroundCopyManager; + }; + + interface IBackgroundCopyCallback; + interface IBackgroundCopyJobHttpOptions; +}