69 *
obj = &
error->IBackgroundCopyError_iface;
78 IBackgroundCopyError_AddRef(iface);
101 if (
error->file) IBackgroundCopyFile2_Release(
error->file);
109 BG_ERROR_CONTEXT *pContext,
114 TRACE(
"(%p)->(%p %p)\n",
error, pContext, pCode);
116 *pContext =
error->context;
117 *pCode =
error->code;
119 TRACE(
"returning context %u error code 0x%08x\n",
error->context,
error->code);
133 IBackgroundCopyFile2_AddRef(
error->file);
144 LPWSTR *pErrorDescription)
147 FIXME(
"(%p)->(%p)\n",
error, pErrorDescription);
154 LPWSTR *pContextDescription)
157 FIXME(
"(%p)->(%p)\n",
error, pContextDescription);
198 if (
error->file) IBackgroundCopyFile2_AddRef(
error->file);
200 *
obj = &
error->IBackgroundCopyError_iface;
201 TRACE(
"returning iface %p\n", *
obj);
207 return job->state == BG_JOB_STATE_CANCELLED ||
job->state == BG_JOB_STATE_ACKNOWLEDGED;
227 *
obj = &
This->IBackgroundCopyJob3_iface;
231 *
obj = &
This->IBackgroundCopyJobHttpOptions_iface;
239 IBackgroundCopyJob3_AddRef(iface);
260 This->cs.DebugInfo->Spare[0] = 0;
263 IBackgroundCopyCallback2_Release(
This->callback);
267 for (
i = 0;
i < BG_AUTH_TARGET_PROXY;
i++)
269 for (
j = 0;
j < BG_AUTH_SCHEME_PASSPORT;
j++)
271 BG_AUTH_CREDENTIALS *cred = &
This->http_options.creds[
i][
j];
290 BG_FILE_INFO *pFileSet)
296 TRACE(
"(%p)->(%d %p)\n",
This, cFileCount, pFileSet);
300 for (
i = 0;
i < cFileCount; ++
i)
305 FIXME(
"Check for valid filenames and supported protocols\n");
312 This->jobProgress.BytesTotal = BG_SIZE_UNKNOWN;
313 ++
This->jobProgress.FilesTotal;
333 return IBackgroundCopyJob3_AddFileSet(iface, 1, &
file);
366 else if (
This->jobProgress.FilesTransferred ==
This->jobProgress.FilesTotal)
370 else if (
This->state != BG_JOB_STATE_CONNECTING
371 &&
This->state != BG_JOB_STATE_TRANSFERRING)
373 This->state = BG_JOB_STATE_QUEUED;
374 This->error.context = 0;
376 if (
This->error.file)
378 IBackgroundCopyFile2_Release(
This->error.file);
406 if (
This->state == BG_JOB_STATE_CONNECTING ||
This->state == BG_JOB_STATE_TRANSFERRING)
408 This->state = BG_JOB_STATE_CANCELLED;
429 This->state = BG_JOB_STATE_CANCELLED;
455 if (
file->fileProgress.Completed)
462 ERR(
"Couldn't rename file %s -> %s\n",
473 This->state = BG_JOB_STATE_ACKNOWLEDGED;
506 BG_JOB_PROGRESS *pVal)
516 *pVal =
This->jobProgress;
553 TRACE(
"(%p)->(%p)\n",
job, ppError);
594 static const int max_description_len = 1024;
647 BG_JOB_PRIORITY *pVal)
659 static const ULONG valid_flags = BG_NOTIFY_JOB_TRANSFERRED |
660 BG_NOTIFY_JOB_ERROR |
662 BG_NOTIFY_JOB_MODIFICATION |
663 BG_NOTIFY_FILE_TRANSFERRED;
668 if (Val & ~valid_flags)
return E_NOTIMPL;
669 This->notify_flags = Val;
683 *pVal =
This->notify_flags;
701 IBackgroundCopyCallback2_Release(
This->callback);
708 hr = IUnknown_QueryInterface(Val, &IID_IBackgroundCopyCallback2, (
void**)&
This->callback);
710 hr = IUnknown_QueryInterface(Val, &IID_IBackgroundCopyCallback, (
void**)&
This->callback);
730 IUnknown_AddRef(*pVal);
739 FIXME(
"%u\n", Seconds);
748 FIXME(
"(%p)->(%p): stub\n",
This, Seconds);
758 FIXME(
"(%p)->(%d): stub\n",
This, Seconds);
767 FIXME(
"(%p)->(%p): stub\n",
This, Seconds);
783 BG_JOB_PROXY_USAGE ProxyUsage,
784 const WCHAR *ProxyList,
785 const WCHAR *ProxyBypassList)
794 BG_JOB_PROXY_USAGE *pProxyUsage,
799 FIXME(
"(%p)->(%p %p %p): stub\n",
This, pProxyUsage, pProxyList, pProxyBypassList);
864 FIXME(
"(%p)->(%p): stub\n",
This, pFilename);
870 if (!
target ||
target > BG_AUTH_TARGET_PROXY)
return -1;
876 if (!
scheme ||
scheme > BG_AUTH_SCHEME_PASSPORT)
return -1;
882 BG_AUTH_CREDENTIALS *cred)
885 BG_AUTH_CREDENTIALS *new_cred;
886 int idx_target, idx_scheme;
892 new_cred = &
job->http_options.creds[idx_target][idx_scheme];
896 new_cred->Target = cred->Target;
897 new_cred->Scheme = cred->Scheme;
899 if (cred->Credentials.Basic.UserName)
902 new_cred->Credentials.Basic.UserName =
strdupW(cred->Credentials.Basic.UserName);
904 if (cred->Credentials.Basic.Password)
907 new_cred->Credentials.Basic.Password =
strdupW(cred->Credentials.Basic.Password);
920 BG_AUTH_CREDENTIALS *new_cred;
921 int idx_target, idx_scheme;
927 new_cred = &
job->http_options.creds[idx_target][idx_scheme];
931 new_cred->Target = new_cred->Scheme = 0;
933 new_cred->Credentials.Basic.UserName =
NULL;
935 new_cred->Credentials.Basic.Password =
NULL;
1044 return IBackgroundCopyJob3_QueryInterface(&
job->IBackgroundCopyJob3_iface,
riid,
ppvObject);
1051 return IBackgroundCopyJob3_AddRef(&
job->IBackgroundCopyJob3_iface);
1058 return IBackgroundCopyJob3_Release(&
job->IBackgroundCopyJob3_iface);
1063 BG_CERT_STORE_LOCATION StoreLocation,
1065 BYTE *pCertHashBlob)
1073 BG_CERT_STORE_LOCATION StoreLocation,
1090 BG_CERT_STORE_LOCATION *pStoreLocation,
1092 BYTE **ppCertHashBlob,
1123 job->http_options.headers =
NULL;
1136 TRACE(
"(%p)->(%p)\n", iface, pRequestHeaders);
1140 if (
job->http_options.headers)
1153 *pRequestHeaders =
NULL;
1176 TRACE(
"(%p)->(%p)\n", iface, pFlags);
1178 *pFlags =
job->http_options.flags;
1211 This->cs.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": BackgroundCopyJobImpl.cs");
1217 if (!
This->displayName)
1219 This->cs.DebugInfo->Spare[0] = 0;
1228 This->cs.DebugInfo->Spare[0] = 0;
1234 *job_id =
This->jobId;
1237 This->jobProgress.BytesTotal = 0;
1238 This->jobProgress.BytesTransferred = 0;
1239 This->jobProgress.FilesTotal = 0;
1240 This->jobProgress.FilesTransferred = 0;
1242 This->state = BG_JOB_STATE_SUSPENDED;
1244 This->notify_flags = BG_NOTIFY_JOB_ERROR | BG_NOTIFY_JOB_TRANSFERRED;
1248 This->error.context = 0;
1274 if (!
file->fileProgress.Completed)
#define BG_E_INVALID_AUTH_SCHEME
static HRESULT WINAPI BackgroundCopyJob_SetDisplayName(IBackgroundCopyJob3 *iface, LPCWSTR Val)
static ULONG WINAPI http_options_AddRef(IBackgroundCopyJobHttpOptions *iface)
BOOL transitionJobState(BackgroundCopyJobImpl *job, BG_JOB_STATE from, BG_JOB_STATE to)
static HRESULT WINAPI BackgroundCopyJob_GetDescription(IBackgroundCopyJob3 *iface, LPWSTR *pVal)
static HRESULT WINAPI BackgroundCopyJob_Suspend(IBackgroundCopyJob3 *iface)
#define MOVEFILE_REPLACE_EXISTING
static BackgroundCopyJobImpl * impl_from_IBackgroundCopyJobHttpOptions(IBackgroundCopyJobHttpOptions *iface)
static WCHAR * strdupW(const WCHAR *src)
IBackgroundCopyFile2 * file
static HRESULT WINAPI http_options_QueryInterface(IBackgroundCopyJobHttpOptions *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI BackgroundCopyJob_SetFileACLFlags(IBackgroundCopyJob3 *iface, DWORD Flags)
BackgroundCopyManagerImpl globalMgr
#define MOVEFILE_COPY_ALLOWED
static struct copy_error * impl_from_IBackgroundCopyError(IBackgroundCopyError *iface)
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
#define BG_S_UNABLE_TO_DELETE_FILES
static HRESULT WINAPI http_options_GetCustomHeaders(IBackgroundCopyJobHttpOptions *iface, LPWSTR *pRequestHeaders)
static HRESULT WINAPI copy_error_GetErrorDescription(IBackgroundCopyError *iface, DWORD LanguageId, LPWSTR *pErrorDescription)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
static const IBackgroundCopyErrorVtbl copy_error_vtbl
vector< Header * > headers
static HRESULT WINAPI BackgroundCopyJob_GetNoProgressTimeout(IBackgroundCopyJob3 *iface, ULONG *Seconds)
static HRESULT WINAPI BackgroundCopyJob_SetProxySettings(IBackgroundCopyJob3 *iface, BG_JOB_PROXY_USAGE ProxyUsage, const WCHAR *ProxyList, const WCHAR *ProxyBypassList)
static HRESULT WINAPI BackgroundCopyJob_SetMinimumRetryDelay(IBackgroundCopyJob3 *iface, ULONG Seconds)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static ULONG WINAPI BackgroundCopyJob_AddRef(IBackgroundCopyJob3 *iface)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
static HRESULT WINAPI BackgroundCopyJob_SetReplyFileName(IBackgroundCopyJob3 *iface, LPCWSTR filename)
static HRESULT WINAPI BackgroundCopyJob_GetError(IBackgroundCopyJob3 *iface, IBackgroundCopyError **ppError)
static HRESULT WINAPI BackgroundCopyJob_Cancel(IBackgroundCopyJob3 *iface)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
static BackgroundCopyJobImpl * impl_from_IBackgroundCopyJob3(IBackgroundCopyJob3 *iface)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define BG_E_INVALID_STATE
GLenum const GLfloat * params
#define MOVEFILE_WRITE_THROUGH
static HRESULT return_strval(const WCHAR *str, WCHAR **ret)
static HRESULT WINAPI BackgroundCopyJob_TakeOwnership(IBackgroundCopyJob3 *iface)
static HRESULT WINAPI copy_error_GetErrorContextDescription(IBackgroundCopyError *iface, DWORD LanguageId, LPWSTR *pContextDescription)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
HRESULT BackgroundCopyFileConstructor(BackgroundCopyJobImpl *owner, LPCWSTR remoteName, LPCWSTR localName, BackgroundCopyFileImpl **file)
static HRESULT WINAPI copy_error_GetProtocol(IBackgroundCopyError *iface, LPWSTR *pProtocol)
static HRESULT WINAPI BackgroundCopyJob_GetNotifyFlags(IBackgroundCopyJob3 *iface, ULONG *pVal)
static HRESULT WINAPI BackgroundCopyJob_GetDisplayName(IBackgroundCopyJob3 *iface, LPWSTR *pVal)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static HRESULT WINAPI BackgroundCopyJob_SetCredentials(IBackgroundCopyJob3 *iface, BG_AUTH_CREDENTIALS *cred)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyInterface(IBackgroundCopyJob3 *iface, IUnknown *Val)
static HRESULT WINAPI BackgroundCopyJob_GetState(IBackgroundCopyJob3 *iface, BG_JOB_STATE *pVal)
HRESULT EnumBackgroundCopyFilesConstructor(BackgroundCopyJobImpl *job, IEnumBackgroundCopyFiles **enum_files)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static HRESULT WINAPI BackgroundCopyJob_ReplaceRemotePrefix(IBackgroundCopyJob3 *iface, LPCWSTR OldPrefix, LPCWSTR NewPrefix)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static ULONG WINAPI copy_error_Release(IBackgroundCopyError *iface)
static HRESULT WINAPI copy_error_GetError(IBackgroundCopyError *iface, BG_ERROR_CONTEXT *pContext, HRESULT *pCode)
static HRESULT WINAPI http_options_SetSecurityFlags(IBackgroundCopyJobHttpOptions *iface, ULONG Flags)
static HRESULT WINAPI http_options_SetClientCertificateByID(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION StoreLocation, LPCWSTR StoreName, BYTE *pCertHashBlob)
_Must_inspect_result_ _In_ ULONG Flags
static const IBackgroundCopyJob3Vtbl BackgroundCopyJob3Vtbl
static BOOL is_job_done(const BackgroundCopyJobImpl *job)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static HRESULT WINAPI BackgroundCopyJob_QueryInterface(IBackgroundCopyJob3 *iface, REFIID riid, void **obj)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
WINE_DEFAULT_DEBUG_CHANNEL(schedsvc)
static HRESULT WINAPI BackgroundCopyJob_RemoveCredentials(IBackgroundCopyJob3 *iface, BG_AUTH_TARGET target, BG_AUTH_SCHEME scheme)
#define BG_E_FILE_NOT_AVAILABLE
static HRESULT WINAPI BackgroundCopyJob_GetProxySettings(IBackgroundCopyJob3 *iface, BG_JOB_PROXY_USAGE *pProxyUsage, LPWSTR *pProxyList, LPWSTR *pProxyBypassList)
static ULONG WINAPI BackgroundCopyJob_Release(IBackgroundCopyJob3 *iface)
static HRESULT WINAPI http_options_RemoveClientCertificate(IBackgroundCopyJobHttpOptions *iface)
HRESULT BackgroundCopyJobConstructor(LPCWSTR displayName, BG_JOB_TYPE type, GUID *job_id, BackgroundCopyJobImpl **job)
static int index_from_target(BG_AUTH_TARGET target)
static HRESULT WINAPI http_options_GetClientCertificate(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION *pStoreLocation, LPWSTR *pStoreName, BYTE **ppCertHashBlob, LPWSTR *pSubjectName)
static ULONG WINAPI http_options_Release(IBackgroundCopyJobHttpOptions *iface)
static int index_from_scheme(BG_AUTH_SCHEME scheme)
static HRESULT WINAPI BackgroundCopyJob_Complete(IBackgroundCopyJob3 *iface)
static HRESULT WINAPI BackgroundCopyJob_Resume(IBackgroundCopyJob3 *iface)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyFlags(IBackgroundCopyJob3 *iface, ULONG Val)
static HRESULT WINAPI BackgroundCopyJob_GetErrorCount(IBackgroundCopyJob3 *iface, ULONG *Errors)
static HRESULT WINAPI BackgroundCopyJob_SetNoProgressTimeout(IBackgroundCopyJob3 *iface, ULONG Seconds)
_In_opt_ PVOID _In_ ULONG _In_ PVOID context
#define BG_S_PARTIAL_COMPLETE
BG_LENGTH_TO_EOF(UINT64) struct _BG_FILE_RANGE BG_FILE_RANGE
HRESULT WINAPI CoCreateGuid(GUID *pguid)
static HRESULT WINAPI http_options_SetCustomHeaders(IBackgroundCopyJobHttpOptions *iface, LPCWSTR RequestHeaders)
IBackgroundCopyError IBackgroundCopyError_iface
#define InterlockedDecrement
static HRESULT WINAPI BackgroundCopyJob_GetProgress(IBackgroundCopyJob3 *iface, BG_JOB_PROGRESS *pVal)
void processJob(BackgroundCopyJobImpl *job)
REFIID LPVOID * ppvObject
static const IBackgroundCopyJobHttpOptionsVtbl http_options_vtbl
#define BG_E_STRING_TOO_LONG
static HRESULT WINAPI BackgroundCopyJob_GetPriority(IBackgroundCopyJob3 *iface, BG_JOB_PRIORITY *pVal)
static HRESULT WINAPI BackgroundCopyJob_GetId(IBackgroundCopyJob3 *iface, GUID *pVal)
static HRESULT WINAPI BackgroundCopyJob_GetNotifyCmdLine(IBackgroundCopyJob3 *iface, LPWSTR *prog, LPWSTR *params)
#define InterlockedIncrement
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static HRESULT WINAPI http_options_GetSecurityFlags(IBackgroundCopyJobHttpOptions *iface, ULONG *pFlags)
static HRESULT WINAPI BackgroundCopyJob_GetOwner(IBackgroundCopyJob3 *iface, LPWSTR *pVal)
#define BG_E_INVALID_AUTH_TARGET
static HRESULT WINAPI BackgroundCopyJob_GetNotifyInterface(IBackgroundCopyJob3 *iface, IUnknown **pVal)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
#define BG_E_ERROR_INFORMATION_UNAVAILABLE
static HRESULT WINAPI BackgroundCopyJob_GetMinimumRetryDelay(IBackgroundCopyJob3 *iface, ULONG *Seconds)
static HRESULT WINAPI BackgroundCopyJob_AddFileSet(IBackgroundCopyJob3 *iface, ULONG cFileCount, BG_FILE_INFO *pFileSet)
static LPWSTR co_strdupW(LPCWSTR str)
static HRESULT create_copy_error(BG_ERROR_CONTEXT context, HRESULT code, IBackgroundCopyFile2 *file, IBackgroundCopyError **obj)
static HRESULT WINAPI BackgroundCopyJob_GetFileACLFlags(IBackgroundCopyJob3 *iface, DWORD *Flags)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static ULONG WINAPI copy_error_AddRef(IBackgroundCopyError *iface)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyCmdLine(IBackgroundCopyJob3 *iface, LPCWSTR prog, LPCWSTR params)
BOOL WINAPI MoveFileExW(IN LPCWSTR lpExistingFileName, IN LPCWSTR lpNewFileName OPTIONAL, IN DWORD dwFlags)
static HRESULT WINAPI BackgroundCopyJob_AddFileWithRanges(IBackgroundCopyJob3 *iface, LPCWSTR RemoteUrl, LPCWSTR LocalName, DWORD RangeCount, BG_FILE_RANGE Ranges[])
static HRESULT WINAPI copy_error_QueryInterface(IBackgroundCopyError *iface, REFIID riid, void **obj)
static HRESULT WINAPI BackgroundCopyJob_GetReplyProgress(IBackgroundCopyJob3 *iface, BG_JOB_REPLY_PROGRESS *progress)
GLuint GLuint GLsizei GLenum type
BOOL processFile(BackgroundCopyFileImpl *file, BackgroundCopyJobImpl *job)
static HRESULT WINAPI BackgroundCopyJob_GetReplyFileName(IBackgroundCopyJob3 *iface, LPWSTR *pFilename)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
unsigned long long UINT64
static const struct token_string Errors[]
#define HeapFree(x, y, z)
static HRESULT WINAPI BackgroundCopyJob_GetType(IBackgroundCopyJob3 *iface, BG_JOB_TYPE *pVal)
static HRESULT WINAPI BackgroundCopyJob_SetDescription(IBackgroundCopyJob3 *iface, LPCWSTR Val)
static HRESULT WINAPI BackgroundCopyJob_SetPriority(IBackgroundCopyJob3 *iface, BG_JOB_PRIORITY Val)
static HRESULT WINAPI BackgroundCopyJob_GetReplyData(IBackgroundCopyJob3 *iface, byte **pBuffer, UINT64 *pLength)
static HRESULT WINAPI copy_error_GetFile(IBackgroundCopyError *iface, IBackgroundCopyFile **pVal)
static HRESULT WINAPI BackgroundCopyJob_GetTimes(IBackgroundCopyJob3 *iface, BG_JOB_TIMES *pVal)
static HRESULT WINAPI BackgroundCopyJob_AddFile(IBackgroundCopyJob3 *iface, LPCWSTR RemoteUrl, LPCWSTR LocalName)
static HRESULT WINAPI http_options_SetClientCertificateByName(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION StoreLocation, LPCWSTR StoreName, LPCWSTR SubjectName)
static HRESULT WINAPI BackgroundCopyJob_EnumFiles(IBackgroundCopyJob3 *iface, IEnumBackgroundCopyFiles **enum_files)