include: Added IDL file for BITS.
This commit is contained in:
parent
68b55594a0
commit
a63f3e6a11
|
@ -566,6 +566,7 @@ include/activscp.h
|
|||
include/amstream.h
|
||||
include/amvideo.h
|
||||
include/austream.h
|
||||
include/bits.h
|
||||
include/comcat.h
|
||||
include/config.h
|
||||
include/control.h
|
||||
|
|
|
@ -9,6 +9,7 @@ IDL_H_SRCS = \
|
|||
amstream.idl \
|
||||
amvideo.idl \
|
||||
austream.idl \
|
||||
bits.idl \
|
||||
comcat.idl \
|
||||
control.idl \
|
||||
d3d10.idl \
|
||||
|
|
|
@ -0,0 +1,411 @@
|
|||
/*
|
||||
* Background Intelligent Transfer Service (BITS) interface
|
||||
*
|
||||
* Copyright 2007 Google (Roy Shea)
|
||||
*
|
||||
* 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 "unknwn.idl";
|
||||
#endif
|
||||
|
||||
cpp_quote("#include \"bitsmsg.h\"")
|
||||
cpp_quote("#define BG_SIZE_UNKNOWN (UINT64)(-1)")
|
||||
cpp_quote("#define BG_NOTIFY_JOB_TRANSFERRED 0x0001")
|
||||
cpp_quote("#define BG_NOTIFY_JOB_ERROR 0x0002")
|
||||
cpp_quote("#define BG_NOTIFY_DISABLE 0x0004")
|
||||
cpp_quote("#define BG_NOTIFY_JOB_MODIFICATION 0x0008")
|
||||
|
||||
|
||||
#define BG_ENUM_SIZEIS(maxcount) maxcount
|
||||
#define BG_ENUM_LENGTHIS(maxcount,lengthptr) lengthptr ? *lengthptr : maxcount
|
||||
|
||||
[
|
||||
uuid(01b7bd23-fb88-4a77-8490-5891d3e4653a),
|
||||
odl
|
||||
]
|
||||
interface IBackgroundCopyFile : IUnknown
|
||||
{
|
||||
typedef struct _BG_FILE_PROGRESS {
|
||||
UINT64 BytesTotal;
|
||||
UINT64 BytesTransferred;
|
||||
BOOL Completed;
|
||||
} BG_FILE_PROGRESS;
|
||||
|
||||
HRESULT GetRemoteName(
|
||||
[out] LPWSTR *pVal
|
||||
);
|
||||
|
||||
HRESULT GetLocalName(
|
||||
[out] LPWSTR *pVal
|
||||
);
|
||||
|
||||
HRESULT GetProgress(
|
||||
[out] BG_FILE_PROGRESS *pVal
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(ca51e165-c365-424c-8d41-24aaa4ff3c40),
|
||||
odl
|
||||
]
|
||||
interface IEnumBackgroundCopyFiles: IUnknown
|
||||
{
|
||||
HRESULT Next(
|
||||
[in] ULONG celt,
|
||||
[out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyFile **rgelt,
|
||||
[in,out,unique] ULONG *pceltFetched
|
||||
);
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG celt
|
||||
);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Clone(
|
||||
[out] IEnumBackgroundCopyFiles **ppenum
|
||||
);
|
||||
|
||||
HRESULT GetCount(
|
||||
[out] ULONG *puCount
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(19c613a0-fcb8-4f28-81ae-897c3d078f81),
|
||||
odl
|
||||
]
|
||||
interface IBackgroundCopyError : IUnknown
|
||||
{
|
||||
typedef enum {
|
||||
BG_ERROR_CONTEXT_NONE = 0,
|
||||
BG_ERROR_CONTEXT_UNKNOWN = 1,
|
||||
BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
|
||||
BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION =3,
|
||||
BG_ERROR_CONTEXT_LOCAL_FILE = 4,
|
||||
BG_ERROR_CONTEXT_REMOTE_FILE = 5,
|
||||
BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
|
||||
BG_ERROR_CONTEXT_REMOTE_APPLICATION =7,
|
||||
} BG_ERROR_CONTEXT;
|
||||
|
||||
HRESULT GetError(
|
||||
[out,ref] BG_ERROR_CONTEXT *pContext,
|
||||
[out,ref] HRESULT *pCode
|
||||
);
|
||||
|
||||
HRESULT GetFile(
|
||||
[out] IBackgroundCopyFile **pVal
|
||||
);
|
||||
|
||||
HRESULT GetErrorDescription(
|
||||
[in] DWORD LanguageId,
|
||||
[out,ref] LPWSTR *pErrorDescription
|
||||
);
|
||||
|
||||
HRESULT GetErrorContextDescription(
|
||||
[in] DWORD LanguageId,
|
||||
[out,ref] LPWSTR *pContextDescription
|
||||
);
|
||||
|
||||
HRESULT GetProtocol(
|
||||
[out,ref] LPWSTR *pProtocol
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[
|
||||
uuid(37668d37-507e-4160-9316-26306d150b12),
|
||||
odl
|
||||
]
|
||||
interface IBackgroundCopyJob : IUnknown
|
||||
{
|
||||
typedef struct _BG_FILE_INFO {
|
||||
LPWSTR RemoteName;
|
||||
LPWSTR LocalName;
|
||||
} BG_FILE_INFO;
|
||||
|
||||
typedef struct _BG_JOB_PROGRESS {
|
||||
UINT64 BytesTotal;
|
||||
UINT64 BytesTransferred;
|
||||
ULONG FilesTotal;
|
||||
ULONG FilesTransferred;
|
||||
} BG_JOB_PROGRESS;
|
||||
|
||||
typedef struct _BG_JOB_TIMES {
|
||||
FILETIME CreationTime;
|
||||
FILETIME ModificationTime;
|
||||
FILETIME TransferCompletionTime;
|
||||
} BG_JOB_TIMES;
|
||||
|
||||
typedef enum {
|
||||
BG_JOB_PRIORITY_FOREGROUND = 0,
|
||||
BG_JOB_PRIORITY_HIGH = 1,
|
||||
BG_JOB_PRIORITY_NORMAL = 2,
|
||||
BG_JOB_PRIORITY_LOW = 3
|
||||
} BG_JOB_PRIORITY;
|
||||
|
||||
typedef enum {
|
||||
BG_JOB_STATE_QUEUED = 0,
|
||||
BG_JOB_STATE_CONNECTING = 1,
|
||||
BG_JOB_STATE_TRANSFERRING = 2,
|
||||
BG_JOB_STATE_SUSPENDED = 3,
|
||||
BG_JOB_STATE_ERROR = 4,
|
||||
BG_JOB_STATE_TRANSIENT_ERROR = 5,
|
||||
BG_JOB_STATE_TRANSFERRED = 6,
|
||||
BG_JOB_STATE_ACKNOWLEDGED = 7,
|
||||
BG_JOB_STATE_CANCELLED = 8
|
||||
} BG_JOB_STATE;
|
||||
|
||||
typedef enum {
|
||||
BG_JOB_TYPE_DOWNLOAD = 0,
|
||||
BG_JOB_TYPE_UPLOAD = 1,
|
||||
BG_JOB_TYPE_UPLOAD_REPLY = 2
|
||||
} BG_JOB_TYPE;
|
||||
|
||||
typedef enum {
|
||||
BG_JOB_PROXY_USAGE_PRECONFIG,
|
||||
BG_JOB_PROXY_USAGE_NO_PROXY,
|
||||
BG_JOB_PROXY_USAGE_OVERRIDE,
|
||||
BG_JOB_PROXY_USAGE_AUTODETECT
|
||||
} BG_JOB_PROXY_USAGE;
|
||||
|
||||
|
||||
HRESULT AddFileSet(
|
||||
[in] ULONG cFileCount,
|
||||
[in,size_is(cFileCount)] BG_FILE_INFO *pFileSet
|
||||
);
|
||||
|
||||
HRESULT AddFile(
|
||||
[in] LPCWSTR RemoteUrl,
|
||||
[in] LPCWSTR LocalName
|
||||
);
|
||||
|
||||
HRESULT EnumFiles(
|
||||
[out] IEnumBackgroundCopyFiles **pEnum
|
||||
);
|
||||
|
||||
HRESULT Suspend();
|
||||
|
||||
HRESULT Resume();
|
||||
|
||||
HRESULT Cancel();
|
||||
|
||||
HRESULT Complete();
|
||||
|
||||
HRESULT GetId(
|
||||
[out] GUID *pVal
|
||||
);
|
||||
|
||||
HRESULT GetType(
|
||||
[out] BG_JOB_TYPE *pVal
|
||||
);
|
||||
|
||||
HRESULT GetProgress(
|
||||
[out] BG_JOB_PROGRESS *pVal
|
||||
);
|
||||
|
||||
HRESULT GetTimes(
|
||||
[out] BG_JOB_TIMES *pVal
|
||||
);
|
||||
|
||||
HRESULT GetState(
|
||||
[out] BG_JOB_STATE *pVal
|
||||
);
|
||||
|
||||
HRESULT GetError(
|
||||
[out] IBackgroundCopyError **ppError
|
||||
);
|
||||
|
||||
HRESULT GetOwner(
|
||||
[out] LPWSTR *pVal
|
||||
);
|
||||
|
||||
HRESULT SetDisplayName(
|
||||
[in] LPCWSTR Val
|
||||
);
|
||||
|
||||
HRESULT GetDisplayName(
|
||||
[out] LPWSTR *pVal
|
||||
);
|
||||
|
||||
HRESULT SetDescription(
|
||||
[in] LPCWSTR Val
|
||||
);
|
||||
|
||||
HRESULT GetDescription(
|
||||
[out] LPWSTR *pVal
|
||||
);
|
||||
|
||||
HRESULT SetPriority(
|
||||
[in] BG_JOB_PRIORITY Val
|
||||
);
|
||||
|
||||
HRESULT GetPriority(
|
||||
[out] BG_JOB_PRIORITY *pVal
|
||||
);
|
||||
|
||||
HRESULT SetNotifyFlags(
|
||||
[in] ULONG Val
|
||||
);
|
||||
|
||||
HRESULT GetNotifyFlags(
|
||||
[out] ULONG *pVal
|
||||
);
|
||||
|
||||
HRESULT SetNotifyInterface(
|
||||
[in] IUnknown *Val
|
||||
);
|
||||
|
||||
HRESULT GetNotifyInterface(
|
||||
[out] IUnknown ** pVal
|
||||
);
|
||||
|
||||
HRESULT SetMinimumRetryDelay(
|
||||
[in] ULONG Seconds
|
||||
);
|
||||
|
||||
HRESULT GetMinimumRetryDelay(
|
||||
[out] ULONG *Seconds
|
||||
);
|
||||
|
||||
HRESULT SetNoProgressTimeout(
|
||||
[in] ULONG Seconds
|
||||
);
|
||||
|
||||
HRESULT GetNoProgressTimeout(
|
||||
[out] ULONG *Seconds
|
||||
);
|
||||
|
||||
HRESULT GetErrorCount(
|
||||
[out] ULONG *Errors
|
||||
);
|
||||
|
||||
HRESULT SetProxySettings(
|
||||
[in] BG_JOB_PROXY_USAGE ProxyUsage,
|
||||
[in,string,unique] const WCHAR *ProxyList,
|
||||
[in,string,unique] const WCHAR *ProxyBypassList
|
||||
);
|
||||
|
||||
HRESULT GetProxySettings(
|
||||
[out] BG_JOB_PROXY_USAGE *pProxyUsage,
|
||||
[out] LPWSTR *pProxyList,
|
||||
[out] LPWSTR *pProxyBypassList
|
||||
);
|
||||
|
||||
HRESULT TakeOwnership();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(1af4f612-3b71-466f-8f58-7b6f73ac57ad),
|
||||
odl
|
||||
]
|
||||
interface IEnumBackgroundCopyJobs : IUnknown
|
||||
{
|
||||
HRESULT Next(
|
||||
[in] ULONG celt,
|
||||
[out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyJob **rgelt,
|
||||
[in,out,unique] ULONG *pceltFetched
|
||||
);
|
||||
|
||||
HRESULT Skip(
|
||||
[in] ULONG celt
|
||||
);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Clone(
|
||||
[out] IEnumBackgroundCopyJobs **ppenum
|
||||
);
|
||||
|
||||
HRESULT GetCount(
|
||||
[out] ULONG *puCount
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22),
|
||||
odl
|
||||
]
|
||||
interface IBackgroundCopyCallback : IUnknown
|
||||
{
|
||||
HRESULT JobTransferred(
|
||||
[in] IBackgroundCopyJob *pJob
|
||||
);
|
||||
|
||||
HRESULT JobError(
|
||||
[in] IBackgroundCopyJob *pJob,
|
||||
[in] IBackgroundCopyError *pError
|
||||
);
|
||||
|
||||
HRESULT JobModification(
|
||||
[in] IBackgroundCopyJob *pJob,
|
||||
[in] DWORD dwReserved
|
||||
);
|
||||
}
|
||||
|
||||
[
|
||||
uuid(5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c),
|
||||
odl
|
||||
]
|
||||
interface IBackgroundCopyManager : IUnknown
|
||||
{
|
||||
cpp_quote("#define BG_JOB_ENUM_ALL_USERS 0x0001")
|
||||
|
||||
HRESULT CreateJob(
|
||||
[in] LPCWSTR DisplayName,
|
||||
[in] BG_JOB_TYPE Type,
|
||||
[out] GUID *pJobId,
|
||||
[out] IBackgroundCopyJob **ppJob
|
||||
);
|
||||
|
||||
HRESULT GetJob(
|
||||
[in] REFGUID jobID,
|
||||
[out] IBackgroundCopyJob **ppJob
|
||||
);
|
||||
|
||||
HRESULT EnumJobs(
|
||||
[in] DWORD dwFlags,
|
||||
[out] IEnumBackgroundCopyJobs **ppEnum
|
||||
);
|
||||
HRESULT GetErrorDescription(
|
||||
[in] HRESULT hResult,
|
||||
[in] DWORD LanguageId,
|
||||
[out] LPWSTR *pErrorDescription);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(1deeb74f-7915-4560-b558-918c83f176a6),
|
||||
version(1.0)
|
||||
]
|
||||
library BackgroundCopyManager
|
||||
{
|
||||
[
|
||||
uuid(4991d34b-80a1-4291-83b6-3328366b9097),
|
||||
]
|
||||
coclass BackgroundCopyManager
|
||||
{
|
||||
[default] interface IBackgroundCopyManager;
|
||||
};
|
||||
|
||||
interface IBackgroundCopyCallback;
|
||||
}
|
Loading…
Reference in New Issue