af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Background Intelligent Transfer Service (BITS) interface
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2007 Google (Roy Shea)
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef DO_NO_IMPORTS
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "unknwn.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#include \"bitsmsg.h\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define BG_SIZE_UNKNOWN (UINT64)(-1)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define BG_NOTIFY_JOB_TRANSFERRED 0x0001")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define BG_NOTIFY_JOB_ERROR 0x0002")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define BG_NOTIFY_DISABLE 0x0004")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define BG_NOTIFY_JOB_MODIFICATION 0x0008")
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("#undef EnumJobs")
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("#undef GetJob")
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define BG_ENUM_SIZEIS(maxcount) maxcount
af062818b47340eef15700d2f0211576ba3506eevboxsync#define BG_ENUM_LENGTHIS(maxcount,lengthptr) lengthptr ? *lengthptr : maxcount
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(01b7bd23-fb88-4a77-8490-5891d3e4653a),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IBackgroundCopyFile : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _BG_FILE_PROGRESS {
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT64 BytesTotal;
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT64 BytesTransferred;
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL Completed;
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_FILE_PROGRESS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetRemoteName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetLocalName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetProgress(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_FILE_PROGRESS *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(ca51e165-c365-424c-8d41-24aaa4ff3c40),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumBackgroundCopyFiles: IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Next(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyFile **rgelt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out,unique] ULONG *pceltFetched
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Skip(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Reset();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clone(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumBackgroundCopyFiles **ppenum
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *puCount
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(19c613a0-fcb8-4f28-81ae-897c3d078f81),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IBackgroundCopyError : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_NONE = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_UNKNOWN = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION =3,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_LOCAL_FILE = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_REMOTE_FILE = 5,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_ERROR_CONTEXT_REMOTE_APPLICATION =7,
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_ERROR_CONTEXT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,ref] BG_ERROR_CONTEXT *pContext,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,ref] HRESULT *pCode
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFile(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IBackgroundCopyFile **pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetErrorDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD LanguageId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,ref] LPWSTR *pErrorDescription
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetErrorContextDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD LanguageId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,ref] LPWSTR *pContextDescription
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetProtocol(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,ref] LPWSTR *pProtocol
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(37668d37-507e-4160-9316-26306d150b12),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IBackgroundCopyJob : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _BG_FILE_INFO {
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR RemoteName;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR LocalName;
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_FILE_INFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _BG_JOB_PROGRESS {
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT64 BytesTotal;
af062818b47340eef15700d2f0211576ba3506eevboxsync UINT64 BytesTransferred;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG FilesTotal;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG FilesTransferred;
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_PROGRESS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _BG_JOB_TIMES {
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME CreationTime;
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME ModificationTime;
af062818b47340eef15700d2f0211576ba3506eevboxsync FILETIME TransferCompletionTime;
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_TIMES;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PRIORITY_FOREGROUND = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PRIORITY_HIGH = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PRIORITY_NORMAL = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PRIORITY_LOW = 3
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_PRIORITY;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_QUEUED = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_CONNECTING = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_TRANSFERRING = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_SUSPENDED = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_ERROR = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_TRANSIENT_ERROR = 5,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_TRANSFERRED = 6,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_ACKNOWLEDGED = 7,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_STATE_CANCELLED = 8
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_STATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_TYPE_DOWNLOAD = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_TYPE_UPLOAD = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_TYPE_UPLOAD_REPLY = 2
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_TYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PROXY_USAGE_PRECONFIG,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PROXY_USAGE_NO_PROXY,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PROXY_USAGE_OVERRIDE,
af062818b47340eef15700d2f0211576ba3506eevboxsync BG_JOB_PROXY_USAGE_AUTODETECT
af062818b47340eef15700d2f0211576ba3506eevboxsync } BG_JOB_PROXY_USAGE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddFileSet(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG cFileCount,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,size_is(cFileCount)] BG_FILE_INFO *pFileSet
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddFile(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR RemoteUrl,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR LocalName
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumFiles(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumBackgroundCopyFiles **pEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Suspend();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Resume();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Cancel();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Complete();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetId(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] GUID *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetType(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_TYPE *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetProgress(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_PROGRESS *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetTimes(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_TIMES *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetState(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_STATE *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IBackgroundCopyError **ppError
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetOwner(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetDisplayName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR Val
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDisplayName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR Val
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetPriority(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BG_JOB_PRIORITY Val
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetPriority(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_PRIORITY *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetNotifyFlags(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG Val
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetNotifyFlags(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetNotifyInterface(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *Val
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetNotifyInterface(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IUnknown ** pVal
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetMinimumRetryDelay(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG Seconds
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMinimumRetryDelay(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *Seconds
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetNoProgressTimeout(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG Seconds
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetNoProgressTimeout(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *Seconds
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetErrorCount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *Errors
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetProxySettings(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BG_JOB_PROXY_USAGE ProxyUsage,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,string,unique] const WCHAR *ProxyList,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,string,unique] const WCHAR *ProxyBypassList
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetProxySettings(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BG_JOB_PROXY_USAGE *pProxyUsage,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pProxyList,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pProxyBypassList
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT TakeOwnership();
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(1af4f612-3b71-466f-8f58-7b6f73ac57ad),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumBackgroundCopyJobs : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Next(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyJob **rgelt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,out,unique] ULONG *pceltFetched
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Skip(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Reset();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clone(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumBackgroundCopyJobs **ppenum
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *puCount
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IBackgroundCopyCallback : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JobTransferred(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IBackgroundCopyJob *pJob
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JobError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IBackgroundCopyJob *pJob,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IBackgroundCopyError *pError
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT JobModification(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IBackgroundCopyJob *pJob,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwReserved
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c),
af062818b47340eef15700d2f0211576ba3506eevboxsync odl
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IBackgroundCopyManager : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define BG_JOB_ENUM_ALL_USERS 0x0001")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateJob(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR DisplayName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BG_JOB_TYPE Type,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] GUID *pJobId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IBackgroundCopyJob **ppJob
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetJob(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFGUID jobID,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IBackgroundCopyJob **ppJob
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumJobs(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwFlags,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumBackgroundCopyJobs **ppEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetErrorDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] HRESULT hResult,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD LanguageId,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *pErrorDescription);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(1deeb74f-7915-4560-b558-918c83f176a6),
af062818b47340eef15700d2f0211576ba3506eevboxsync version(1.0)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsynclibrary BackgroundCopyManager
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync [
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(4991d34b-80a1-4291-83b6-3328366b9097),
af062818b47340eef15700d2f0211576ba3506eevboxsync ]
af062818b47340eef15700d2f0211576ba3506eevboxsync coclass BackgroundCopyManager
af062818b47340eef15700d2f0211576ba3506eevboxsync {
af062818b47340eef15700d2f0211576ba3506eevboxsync [default] interface IBackgroundCopyManager;
af062818b47340eef15700d2f0211576ba3506eevboxsync };
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync interface IBackgroundCopyCallback;
af062818b47340eef15700d2f0211576ba3506eevboxsync}