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%08lx\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 = &
job->IBackgroundCopyJob4_iface;
231 *
obj = &
job->IBackgroundCopyJobHttpOptions_iface;
240 IBackgroundCopyJob4_AddRef(iface);
248 TRACE(
"%p, refcount %ld.\n", iface, refcount);
257 TRACE(
"%p, refcount %ld.\n", iface,
ref);
261 job->cs.DebugInfo->Spare[0] = 0;
264 IBackgroundCopyCallback2_Release(
job->callback);
267 free(
job->http_options.headers);
268 for (
i = 0;
i < BG_AUTH_TARGET_PROXY;
i++)
270 for (
j = 0;
j < BG_AUTH_SCHEME_PASSPORT;
j++)
272 BG_AUTH_CREDENTIALS *cred = &
job->http_options.creds[
i][
j];
273 free(cred->Credentials.Basic.UserName);
274 free(cred->Credentials.Basic.Password);
294 TRACE(
"%p, %lu, %p.\n", iface, cFileCount, pFileSet);
298 for (
i = 0;
i < cFileCount; ++
i)
303 FIXME(
"Check for valid filenames and supported protocols\n");
310 job->jobProgress.BytesTotal = BG_SIZE_UNKNOWN;
311 ++
job->jobProgress.FilesTotal;
327 return IBackgroundCopyJob4_AddFileSet(iface, 1, &
file);
333 TRACE(
"%p, %p.\n", iface, enum_files);
339 FIXME(
"(%p): stub\n", iface);
348 TRACE(
"%p.\n", iface);
355 else if (
job->jobProgress.FilesTransferred ==
job->jobProgress.FilesTotal)
359 else if (
job->state != BG_JOB_STATE_CONNECTING
360 &&
job->state != BG_JOB_STATE_TRANSFERRING)
362 job->state = BG_JOB_STATE_QUEUED;
363 job->error.context = 0;
367 IBackgroundCopyFile2_Release(
job->error.file);
382 TRACE(
"%p.\n", iface);
394 if (
job->state == BG_JOB_STATE_CONNECTING ||
job->state == BG_JOB_STATE_TRANSFERRING)
396 job->state = BG_JOB_STATE_CANCELLED;
417 job->state = BG_JOB_STATE_CANCELLED;
429 TRACE(
"%p.\n", iface);
442 if (
file->fileProgress.Completed)
449 ERR(
"Couldn't rename file %s -> %s\n",
460 job->state = BG_JOB_STATE_ACKNOWLEDGED;
470 TRACE(
"%p, %p.\n", iface,
id);
481 TRACE(
"%p, %p.\n", iface, job_type);
486 *job_type =
job->type;
508 FIXME(
"%p, %p: stub\n", iface, pVal);
530 TRACE(
"%p, %p.\n", iface, ppError);
539 FIXME(
"%p, %p: stub\n", iface, owner);
561 static const int max_description_len = 1024;
615 static const ULONG valid_flags = BG_NOTIFY_JOB_TRANSFERRED |
616 BG_NOTIFY_JOB_ERROR |
618 BG_NOTIFY_JOB_MODIFICATION |
619 BG_NOTIFY_FILE_TRANSFERRED;
653 IBackgroundCopyCallback2_Release(
job->callback);
660 hr = IUnknown_QueryInterface(
callback, &IID_IBackgroundCopyCallback2, (
void **)&
job->callback);
662 hr = IUnknown_QueryInterface(
callback, &IID_IBackgroundCopyCallback, (
void**)&
job->callback);
687 FIXME(
"%p, %lu.\n", iface, delay);
693 FIXME(
"%p, %p: stub\n", iface, delay);
718 const WCHAR *proxy_list,
const WCHAR *proxy_bypass_list)
727 FIXME(
"%p, %p, %p, %p: stub\n", iface, proxy_usage, proxy_list, proxy_bypass_list);
733 FIXME(
"%p: stub\n", iface);
775 if (!
target ||
target > BG_AUTH_TARGET_PROXY)
return -1;
781 if (!
scheme ||
scheme > BG_AUTH_SCHEME_PASSPORT)
return -1;
788 BG_AUTH_CREDENTIALS *new_cred;
789 int idx_target, idx_scheme;
791 TRACE(
"%p, %p.\n", iface, cred);
795 new_cred = &
job->http_options.creds[idx_target][idx_scheme];
799 new_cred->Target = cred->Target;
800 new_cred->Scheme = cred->Scheme;
802 if (cred->Credentials.Basic.UserName)
804 free(new_cred->Credentials.Basic.UserName);
805 new_cred->Credentials.Basic.UserName =
wcsdup(cred->Credentials.Basic.UserName);
807 if (cred->Credentials.Basic.Password)
809 free(new_cred->Credentials.Basic.Password);
810 new_cred->Credentials.Basic.Password =
wcsdup(cred->Credentials.Basic.Password);
823 BG_AUTH_CREDENTIALS *new_cred;
824 int idx_target, idx_scheme;
830 new_cred = &
job->http_options.creds[idx_target][idx_scheme];
834 new_cred->Target = 0;
835 new_cred->Scheme = 0;
836 free(new_cred->Credentials.Basic.UserName);
837 new_cred->Credentials.Basic.UserName =
NULL;
838 free(new_cred->Credentials.Basic.Password);
839 new_cred->Credentials.Basic.Password =
NULL;
897 FIXME(
"%p, %p.\n", iface, elevated);
982 return IBackgroundCopyJob4_QueryInterface(&
job->IBackgroundCopyJob4_iface,
riid, ppvObject);
989 return IBackgroundCopyJob4_AddRef(&
job->IBackgroundCopyJob4_iface);
996 return IBackgroundCopyJob4_Release(&
job->IBackgroundCopyJob4_iface);
1001 BG_CERT_STORE_LOCATION StoreLocation,
1003 BYTE *pCertHashBlob)
1011 BG_CERT_STORE_LOCATION StoreLocation,
1028 BG_CERT_STORE_LOCATION *pStoreLocation,
1030 BYTE **ppCertHashBlob,
1055 free(
job->http_options.headers);
1060 free(
job->http_options.headers);
1061 job->http_options.headers =
NULL;
1074 TRACE(
"(%p)->(%p)\n", iface, pRequestHeaders);
1078 if (
job->http_options.headers)
1091 *pRequestHeaders =
NULL;
1114 TRACE(
"(%p)->(%p)\n", iface, pFlags);
1116 *pFlags =
job->http_options.flags;
1149 This->cs.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": BackgroundCopyJobImpl.cs");
1155 if (!
This->displayName)
1157 This->cs.DebugInfo->Spare[0] = 0;
1166 This->cs.DebugInfo->Spare[0] = 0;
1172 *job_id =
This->jobId;
1175 This->jobProgress.BytesTotal = 0;
1176 This->jobProgress.BytesTransferred = 0;
1177 This->jobProgress.FilesTotal = 0;
1178 This->jobProgress.FilesTransferred = 0;
1180 This->state = BG_JOB_STATE_SUSPENDED;
1182 This->notify_flags = BG_NOTIFY_JOB_ERROR | BG_NOTIFY_JOB_TRANSFERRED;
1186 This->error.context = 0;
1212 if (!
file->fileProgress.Completed)
1221 if (
job->callback && (
job->notify_flags & BG_NOTIFY_JOB_TRANSFERRED))
1223 TRACE(
"Calling JobTransferred -->\n");
1225 TRACE(
"Called JobTransferred <--\n");
COMPILER_DEPENDENT_UINT64 UINT64
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
#define BG_S_UNABLE_TO_DELETE_FILES
#define BG_E_FILE_NOT_AVAILABLE
#define BG_E_INVALID_AUTH_TARGET
#define BG_E_ERROR_INFORMATION_UNAVAILABLE
#define BG_E_INVALID_AUTH_SCHEME
#define BG_S_PARTIAL_COMPLETE
#define BG_E_INVALID_STATE
#define BG_E_STRING_TOO_LONG
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
HRESULT WINAPI CoCreateGuid(GUID *guid)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI MoveFileExW(IN LPCWSTR lpExistingFileName, IN LPCWSTR lpNewFileName OPTIONAL, IN DWORD dwFlags)
BOOL WINAPI InitializeCriticalSectionEx(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount, IN DWORD flags)
static wchar_t * wcsdup(const wchar_t *str)
HRESULT EnumBackgroundCopyFilesConstructor(BackgroundCopyJobImpl *job, IEnumBackgroundCopyFiles **enum_files)
BOOL processFile(BackgroundCopyFileImpl *file, BackgroundCopyJobImpl *job)
HRESULT BackgroundCopyFileConstructor(BackgroundCopyJobImpl *owner, LPCWSTR remoteName, LPCWSTR localName, BackgroundCopyFileImpl **file)
static HRESULT WINAPI BackgroundCopyJob_SetNoProgressTimeout(IBackgroundCopyJob4 *iface, ULONG timeout)
static const IBackgroundCopyJob4Vtbl BackgroundCopyJobVtbl
static HRESULT WINAPI http_options_RemoveClientCertificate(IBackgroundCopyJobHttpOptions *iface)
static HRESULT WINAPI copy_error_GetErrorContextDescription(IBackgroundCopyError *iface, DWORD LanguageId, LPWSTR *pContextDescription)
static HRESULT WINAPI BackgroundCopyJob_EnumFiles(IBackgroundCopyJob4 *iface, IEnumBackgroundCopyFiles **enum_files)
static HRESULT WINAPI BackgroundCopyJob_GetReplyData(IBackgroundCopyJob4 *iface, byte **buffer, UINT64 *length)
static HRESULT WINAPI BackgroundCopyJob_GetNotifyInterface(IBackgroundCopyJob4 *iface, IUnknown **callback)
HRESULT BackgroundCopyJobConstructor(LPCWSTR displayName, BG_JOB_TYPE type, GUID *job_id, BackgroundCopyJobImpl **job)
static HRESULT WINAPI BackgroundCopyJob_AddFileWithRanges(IBackgroundCopyJob4 *iface, LPCWSTR RemoteUrl, LPCWSTR LocalName, DWORD RangeCount, BG_FILE_RANGE Ranges[])
BOOL transitionJobState(BackgroundCopyJobImpl *job, BG_JOB_STATE from, BG_JOB_STATE to)
static ULONG WINAPI copy_error_Release(IBackgroundCopyError *iface)
static HRESULT WINAPI BackgroundCopyJob_TakeOwnership(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_GetPeerCachingFlags(IBackgroundCopyJob4 *iface, DWORD *flags)
static ULONG WINAPI copy_error_AddRef(IBackgroundCopyError *iface)
static HRESULT WINAPI BackgroundCopyJob_RemoveCredentials(IBackgroundCopyJob4 *iface, BG_AUTH_TARGET target, BG_AUTH_SCHEME scheme)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyFlags(IBackgroundCopyJob4 *iface, ULONG flags)
static HRESULT WINAPI BackgroundCopyJob_Resume(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_SetMinimumRetryDelay(IBackgroundCopyJob4 *iface, ULONG delay)
static HRESULT WINAPI BackgroundCopyJob_GetReplyProgress(IBackgroundCopyJob4 *iface, BG_JOB_REPLY_PROGRESS *progress)
static HRESULT WINAPI BackgroundCopyJob_Cancel(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_GetId(IBackgroundCopyJob4 *iface, GUID *id)
static HRESULT WINAPI BackgroundCopyJob_GetProxySettings(IBackgroundCopyJob4 *iface, BG_JOB_PROXY_USAGE *proxy_usage, LPWSTR *proxy_list, LPWSTR *proxy_bypass_list)
static const IBackgroundCopyErrorVtbl copy_error_vtbl
static HRESULT WINAPI BackgroundCopyJob_GetMinimumRetryDelay(IBackgroundCopyJob4 *iface, ULONG *delay)
static ULONG WINAPI BackgroundCopyJob_Release(IBackgroundCopyJob4 *iface)
static int index_from_target(BG_AUTH_TARGET target)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyCmdLine(IBackgroundCopyJob4 *iface, LPCWSTR prog, LPCWSTR params)
static HRESULT WINAPI BackgroundCopyJob_ReplaceRemotePrefix(IBackgroundCopyJob4 *iface, LPCWSTR OldPrefix, LPCWSTR NewPrefix)
static HRESULT WINAPI copy_error_GetProtocol(IBackgroundCopyError *iface, LPWSTR *pProtocol)
static HRESULT WINAPI BackgroundCopyJob_SetDescription(IBackgroundCopyJob4 *iface, LPCWSTR desc)
static HRESULT WINAPI http_options_SetSecurityFlags(IBackgroundCopyJobHttpOptions *iface, ULONG Flags)
static HRESULT WINAPI BackgroundCopyJob_GetFileACLFlags(IBackgroundCopyJob4 *iface, DWORD *flags)
static HRESULT WINAPI BackgroundCopyJob_GetState(IBackgroundCopyJob4 *iface, BG_JOB_STATE *state)
static HRESULT WINAPI http_options_GetCustomHeaders(IBackgroundCopyJobHttpOptions *iface, LPWSTR *pRequestHeaders)
static HRESULT WINAPI BackgroundCopyJob_GetOwnerIntegrityLevel(IBackgroundCopyJob4 *iface, ULONG *level)
static HRESULT WINAPI BackgroundCopyJob_SetPriority(IBackgroundCopyJob4 *iface, BG_JOB_PRIORITY priority)
static BOOL is_job_done(const BackgroundCopyJobImpl *job)
static const IBackgroundCopyJobHttpOptionsVtbl http_options_vtbl
static HRESULT WINAPI BackgroundCopyJob_SetReplyFileName(IBackgroundCopyJob4 *iface, LPCWSTR filename)
static BackgroundCopyJobImpl * impl_from_IBackgroundCopyJob4(IBackgroundCopyJob4 *iface)
static struct copy_error * impl_from_IBackgroundCopyError(IBackgroundCopyError *iface)
static HRESULT WINAPI BackgroundCopyJob_AddFile(IBackgroundCopyJob4 *iface, LPCWSTR RemoteUrl, LPCWSTR LocalName)
static HRESULT WINAPI http_options_QueryInterface(IBackgroundCopyJobHttpOptions *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI BackgroundCopyJob_GetOwner(IBackgroundCopyJob4 *iface, LPWSTR *owner)
static HRESULT WINAPI copy_error_GetError(IBackgroundCopyError *iface, BG_ERROR_CONTEXT *pContext, HRESULT *pCode)
static HRESULT WINAPI http_options_SetCustomHeaders(IBackgroundCopyJobHttpOptions *iface, LPCWSTR RequestHeaders)
static HRESULT WINAPI http_options_GetSecurityFlags(IBackgroundCopyJobHttpOptions *iface, ULONG *pFlags)
static HRESULT WINAPI BackgroundCopyJob_GetNotifyFlags(IBackgroundCopyJob4 *iface, ULONG *flags)
static HRESULT WINAPI BackgroundCopyJob_AddFileSet(IBackgroundCopyJob4 *iface, ULONG cFileCount, BG_FILE_INFO *pFileSet)
void processJob(BackgroundCopyJobImpl *job)
static HRESULT WINAPI copy_error_GetErrorDescription(IBackgroundCopyError *iface, DWORD LanguageId, LPWSTR *pErrorDescription)
static HRESULT WINAPI copy_error_GetFile(IBackgroundCopyError *iface, IBackgroundCopyFile **pVal)
static BackgroundCopyJobImpl * impl_from_IBackgroundCopyJobHttpOptions(IBackgroundCopyJobHttpOptions *iface)
static HRESULT WINAPI BackgroundCopyJob_GetNoProgressTimeout(IBackgroundCopyJob4 *iface, ULONG *timeout)
static HRESULT WINAPI BackgroundCopyJob_GetType(IBackgroundCopyJob4 *iface, BG_JOB_TYPE *job_type)
static HRESULT WINAPI BackgroundCopyJob_GetOwnerElevationState(IBackgroundCopyJob4 *iface, BOOL *elevated)
static ULONG WINAPI http_options_AddRef(IBackgroundCopyJobHttpOptions *iface)
static HRESULT WINAPI BackgroundCopyJob_SetProxySettings(IBackgroundCopyJob4 *iface, BG_JOB_PROXY_USAGE proxy_usage, const WCHAR *proxy_list, const WCHAR *proxy_bypass_list)
static HRESULT WINAPI BackgroundCopyJob_SetDisplayName(IBackgroundCopyJob4 *iface, LPCWSTR name)
static ULONG WINAPI http_options_Release(IBackgroundCopyJobHttpOptions *iface)
static HRESULT create_copy_error(BG_ERROR_CONTEXT context, HRESULT code, IBackgroundCopyFile2 *file, IBackgroundCopyError **obj)
static HRESULT WINAPI BackgroundCopyJob_SetPeerCachingFlags(IBackgroundCopyJob4 *iface, DWORD flags)
static HRESULT WINAPI BackgroundCopyJob_GetError(IBackgroundCopyJob4 *iface, IBackgroundCopyError **ppError)
static HRESULT WINAPI BackgroundCopyJob_GetErrorCount(IBackgroundCopyJob4 *iface, ULONG *count)
static HRESULT WINAPI BackgroundCopyJob_GetPriority(IBackgroundCopyJob4 *iface, BG_JOB_PRIORITY *priority)
static HRESULT WINAPI copy_error_QueryInterface(IBackgroundCopyError *iface, REFIID riid, void **obj)
static HRESULT WINAPI BackgroundCopyJob_SetCredentials(IBackgroundCopyJob4 *iface, BG_AUTH_CREDENTIALS *cred)
static int index_from_scheme(BG_AUTH_SCHEME scheme)
static HRESULT WINAPI BackgroundCopyJob_SetNotifyInterface(IBackgroundCopyJob4 *iface, IUnknown *callback)
static HRESULT WINAPI BackgroundCopyJob_GetDisplayName(IBackgroundCopyJob4 *iface, LPWSTR *name)
static ULONG WINAPI BackgroundCopyJob_AddRef(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_GetMaximumDownloadTime(IBackgroundCopyJob4 *iface, ULONG *timeout)
static HRESULT WINAPI http_options_SetClientCertificateByID(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION StoreLocation, LPCWSTR StoreName, BYTE *pCertHashBlob)
static HRESULT WINAPI BackgroundCopyJob_Complete(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_GetTimes(IBackgroundCopyJob4 *iface, BG_JOB_TIMES *pVal)
static HRESULT WINAPI BackgroundCopyJob_SetMaximumDownloadTime(IBackgroundCopyJob4 *iface, ULONG timeout)
static HRESULT WINAPI http_options_SetClientCertificateByName(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION StoreLocation, LPCWSTR StoreName, LPCWSTR SubjectName)
static HRESULT WINAPI BackgroundCopyJob_GetDescription(IBackgroundCopyJob4 *iface, LPWSTR *desc)
static HRESULT WINAPI http_options_GetClientCertificate(IBackgroundCopyJobHttpOptions *iface, BG_CERT_STORE_LOCATION *pStoreLocation, LPWSTR *pStoreName, BYTE **ppCertHashBlob, LPWSTR *pSubjectName)
static HRESULT WINAPI BackgroundCopyJob_GetNotifyCmdLine(IBackgroundCopyJob4 *iface, LPWSTR *prog, LPWSTR *params)
static HRESULT WINAPI BackgroundCopyJob_GetProgress(IBackgroundCopyJob4 *iface, BG_JOB_PROGRESS *progress)
static HRESULT WINAPI BackgroundCopyJob_GetReplyFileName(IBackgroundCopyJob4 *iface, LPWSTR *filename)
static HRESULT WINAPI BackgroundCopyJob_SetFileACLFlags(IBackgroundCopyJob4 *iface, DWORD flags)
static HRESULT WINAPI BackgroundCopyJob_Suspend(IBackgroundCopyJob4 *iface)
static HRESULT WINAPI BackgroundCopyJob_QueryInterface(IBackgroundCopyJob4 *iface, REFIID riid, void **obj)
BackgroundCopyManagerImpl globalMgr
#define MOVEFILE_WRITE_THROUGH
#define MOVEFILE_REPLACE_EXISTING
#define MOVEFILE_COPY_ALLOWED
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLenum const GLfloat * params
GLuint GLsizei GLsizei * length
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
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 LPWSTR co_strdupW(LPCWSTR str)
static IPrintDialogCallback callback
D3D11_SHADER_VARIABLE_DESC desc
#define IsEqualGUID(rguid1, rguid2)
static HRESULT return_strval(const WCHAR *str, WCHAR **ret)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
vector< Header * > headers
IBackgroundCopyFile2 * file
IBackgroundCopyError IBackgroundCopyError_iface
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
#define CONTAINING_RECORD(address, type, field)
DWORD WINAPI GetLastError(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO