IUpdateDownloader::BeginDownload 메서드(wuapi.h)
업데이트와 연결된 콘텐츠 파일의 비동기 다운로드를 시작합니다.
구문
HRESULT BeginDownload(
[in] IUnknown *onProgressChanged,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out] IDownloadJob **retval
);
매개 변수
[in] onProgressChanged
다운로드가 완료되기 전에 다운로드 진행률 변경에 대해 주기적으로 호출되는 IDownloadProgressChangedCallback 인터페이스입니다.
[in] onCompleted
비동기 다운로드 작업이 완료될 때 호출되는 IDownloadCompletedCallback 인터페이스(C++/COM)입니다.
[in] state
IDownloadJob 인터페이스의 AsyncState 속성이 반환하는 호출자별 상태입니다. 호출자는 이 매개 변수를 사용하여 다운로드 작업 개체에 값을 연결할 수 있습니다. 이를 통해 호출자는 나중에 해당 다운로드 작업 개체에 대한 사용자 지정 정보를 검색할 수 있습니다.
IDownloadJob 인터페이스의 AsyncState 속성을 검색할 수 있지만 설정할 수는 없습니다. 이렇게 하면 호출자가 IDownloadJob 인터페이스의 AsyncState 속성으로 이미 설정된 개체의 내용을 변경할 수 없습니다. 즉, AsyncState 속성에 숫자가 포함된 경우 숫자를 변경할 수 없습니다. 그러나 AsyncState 속성에 안전한 배열 또는 개체가 포함된 경우 안전 배열 또는 개체의 내용을 원하는 대로 변경할 수 있습니다. 호출자가 IUpdateDownloader::EndDownload를 호출하여 IDownloadJob을 해제할 때 값이 해제됩니다.
[out] retval
시작된 다운로드 작업에 사용할 수 있는 속성과 메서드를 포함하는 IDownloadJob 인터페이스입니다.
반환 값
성공하면 S_OK 반환합니다. 그렇지 않으면 COM 또는 Windows 오류 코드를 반환합니다.
이 메서드는 다음 오류 코드를 반환할 수도 있습니다.
반환 코드 | 설명 |
---|---|
|
컴퓨터에서 업데이트 사이트에 액세스할 수 없습니다. |
|
WUA(Windows 업데이트 에이전트)에는 컬렉션에 업데이트가 없습니다. |
|
WUA(Windows 업데이트 에이전트)가 초기화되지 않았습니다. |
설명
IDownloadProgressChangedCallback 인터페이스를 구현하는 대신 스크립트를 사용하여 자동화 개체에서 DISPID 0이 있는 식별자의 콜백 루틴을 구현할 수 있습니다. onProgressChanged 매개 변수의 형식은 IUnknown*입니다.
IDownloadCompletedCallback 인터페이스를 구현하는 대신 스크립트를 사용하여 자동화 개체에서 DISPID 0이 있는 식별자의 콜백 루틴을 구현할 수 있습니다. onCompleted 매개 변수의 형식은 IUnknown*입니다.
이 메서드는 인터페이스를 구현하는 개체가 잠겨 있으면 WU_E_INVALID_OPERATION 반환합니다.
이 메서드는 IUpdateDownloader 인터페이스의 업데이트 속성이 설정되지 않은 경우 WU_E_NO_UPDATE 반환합니다. 또한 이 메서드는 업데이트 속성이 빈 컬렉션으로 설정된 경우 WU_E_NO_UPDATE 반환합니다.
이 메서드는 다운로드 작업에 업데이트가 없는 경우 SUS_E_NOT_INITIALIZED 반환합니다.
앱에서 비동기 WUA API를 사용하는 경우 시간 제한 메커니즘을 구현해야 할 수 있습니다. 비동기 WUA 작업을 수행하는 방법에 대한 자세한 내용은 비동기 WUA 작업에 대한 지침을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP, Windows 2000 Professional SP3 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003, Windows 2000 Server SP3 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wuapi.h |
라이브러리 | Wuguid.lib |
DLL | Wuapi.dll |