2 * Background Intelligent Transfer Service (BITS) 1.5 interface
4 * Copyright 2008 Google (Dan Hipschman)
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
27 uuid(54b50739
-686f
-45eb
-9dff
-d6a9a0faa9af
),
30 interface IBackgroundCopyJob2
: IBackgroundCopyJob
32 HRESULT SetNotifyCmdLine
([unique] LPCWSTR prog
, [unique] LPCWSTR params
);
33 HRESULT GetNotifyCmdLine
([out] LPWSTR
*prog
, [out] LPWSTR
*params
);
35 typedef struct _BG_JOB_REPLY_PROGRESS
38 UINT64 BytesTransferred
;
39 } BG_JOB_REPLY_PROGRESS
;
41 HRESULT GetReplyProgress
([in, out] BG_JOB_REPLY_PROGRESS
*progress
);
42 HRESULT GetReplyData
([out, size_is( , (unsigned long) *pLength
)] byte **pBuffer
,
43 [in, out, unique] UINT64
*pLength
);
44 HRESULT SetReplyFileName
([unique] LPCWSTR filename
);
45 HRESULT GetReplyFileName
([out] LPWSTR
*pFilename
);
49 BG_AUTH_TARGET_SERVER
= 1,
55 BG_AUTH_SCHEME_BASIC
= 1,
56 BG_AUTH_SCHEME_DIGEST
,
58 BG_AUTH_SCHEME_NEGOTIATE
,
59 BG_AUTH_SCHEME_PASSPORT
66 } BG_BASIC_CREDENTIALS
;
67 typedef BG_BASIC_CREDENTIALS
*PBG_BASIC_CREDENTIALS
;
69 typedef [switch_type(BG_AUTH_SCHEME
)] union
71 [case(BG_AUTH_SCHEME_BASIC
, BG_AUTH_SCHEME_DIGEST
, BG_AUTH_SCHEME_NTLM
,
72 BG_AUTH_SCHEME_NEGOTIATE
, BG_AUTH_SCHEME_PASSPORT
)]
73 BG_BASIC_CREDENTIALS Basic
;
76 } BG_AUTH_CREDENTIALS_UNION
;
80 BG_AUTH_TARGET Target
;
81 BG_AUTH_SCHEME Scheme
;
82 [switch_is(Scheme
)] BG_AUTH_CREDENTIALS_UNION Credentials
;
83 } BG_AUTH_CREDENTIALS
;
84 typedef BG_AUTH_CREDENTIALS
*PBG_AUTH_CREDENTIALS
;
86 HRESULT SetCredentials
(BG_AUTH_CREDENTIALS
*cred
);
87 HRESULT RemoveCredentials
(BG_AUTH_TARGET target
, BG_AUTH_SCHEME scheme
);