IUpdateServiceManager2::AddService2 메서드(wuapi.h)
권한 부여 캐비닛 파일(.cab)을 요구하지 않고 WUA(Windows 업데이트 Agent)에 서비스를 등록합니다. 또한 이 메서드는 IUpdateServiceRegistration 인터페이스에 대한 포인터를 반환합니다.
구문
HRESULT AddService2(
[in] BSTR serviceID,
[in] LONG flags,
[in] BSTR authorizationCabPath,
[out] IUpdateServiceRegistration **retval
);
매개 변수
[in] serviceID
등록할 서비스의 식별자입니다.
[in] flags
비트 OR 연산을 사용하여 결합된 AddServiceFlag 값의 조합입니다. 결과 값은 서비스 등록 옵션을 지정합니다. 자세한 내용은 비고를 참조하세요.
[in] authorizationCabPath
서비스 등록에 필요한 정보가 있는 Microsoft 서명된 로컬 캐비닛 파일(.cab)의 경로입니다. 비어 있는 경우 업데이트 에이전트는 네트워크 연결을 사용할 수 있을 때 서비스 등록 중에 권한 부여 캐비닛 파일(.cab)을 검색합니다.
[out] retval
추가된 서비스를 나타내는 IUpdateServiceRegistration 인터페이스에 대한 포인터입니다.
반환 값
성공하면 S_OK 반환합니다. 그렇지 않으면 COM 또는 Windows 오류 코드를 반환합니다.
이 메서드는 다음 오류 코드를 반환할 수도 있습니다.
반환 코드 | 설명 |
---|---|
|
매개 변수 값이 잘못되었습니다. |
|
authorizationCabPath 매개 변수가 null 문자열로 설정된 경우 원격 컴퓨터에서 이 메서드를 호출할 수 없습니다. |
|
권한 부여 캐비닛 파일(.cab)이 만료되었습니다. |
|
자동 업데이트 상태를 변경할 수 없습니다. |
설명
이 메서드는 asfAllowOnlineRegistration 플래그가 지정된 경우 네트워킹 오류 코드를 반환할 수 있습니다.
authorizationCabPath 매개 변수는 이 메서드에 대한 선택 사항입니다. authorizationCabPath 매개 변수를 지정하지 않으면 Windows 업데이트 서버에서 검색됩니다.
이 메서드는 asfAllowOnlineRegistration 또는 asfAllowPendingRegistration 플래그가 지정되고 authorizationCabPath 매개 변수 값이 빈 문자열이 아닌 경우 E_INVALIDARG 반환합니다.
이 메서드는 asfRegisterServiceWithAU 플래그가 지정된 경우 자동 업데이트 상태의 요청된 변경이 권한 부여 캐비닛 파일(.cab)의 사양과 반대되는 경우 WU_E_DS_INVALIDOPERATION 반환합니다. 권한 부여 캐비닛 파일에 서명되지 않은 경우 WinVerifyTrust 함수에서 오류가 반환됩니다.
update 에이전트 및 AddService2는 flags 매개 변수에 지정한 AddServiceFlag 값에 따라 다음과 같은 방식으로 작동합니다.
- asfAllowPendingRegistration 없이 asfAllowOnlineRegistration을 지정하면 업데이트 에이전트가 즉시 온라인으로 이동하여 서비스를 등록하려고 시도합니다. AddService2 는 등록의 성공 또는 실패를 반영하는 HRESULT 값을 반환합니다. 등록에 실패하면 업데이트 에이전트는 나중에 서비스 등록을 시도하지 않습니다.
- asfAllowOnlineRegistration 없이 asfAllowPendingRegistration을 지정하는 경우 업데이트 에이전트는 서비스를 즉시 등록하지 않습니다. AddService2 는 S_OK 반환하여 업데이트 에이전트가 나중에 서비스를 등록하려고 시도한다는 것을 나타내며, 이는 등록이 결국 성공할 것이라고 보장하지 않습니다.
- asfAllowPendingRegistration 및 asfAllowOnlineRegistration을 함께 지정하면 업데이트 에이전트가 즉시 온라인으로 이동하여 서비스를 등록하려고 시도합니다. AddService2 는 등록이 성공하면 S_OK 반환합니다. AddService2 는 등록이 실패할 경우 오류 HRESULT 값을 반환하지만 업데이트 에이전트는 나중에 서비스를 등록하려고 시도합니다.
- asfAllowPendingRegistration, asfAllowOnlineRegistration 또는 둘 다를 지정하는 경우 authorizationCabPath 매개 변수에 대해 NULL도 지정합니다.
- asfAllowPendingRegistration 또는 asfAllowOnlineRegistration을 지정하지 않는 경우(즉, 플래그가 0이거나 asfRegisterServiceWithAU인 경우) authorizationCabPath 매개 변수에 NULL이 아닌 경로를 지정해야 합니다. 이 모드에서 AddService2 는 캐비닛 파일(.cab)을 처리하고 IUpdateServiceManager::AddService와 동일한 방식으로 서비스를 등록합니다.
- asfRegisterServiceWithAU를 지정하는 경우 서비스 등록이 성공할 때까지 기본 자동 업데이트 서비스(및 Windows 업데이트 사용자 인터페이스에 반영되지 않음)로 변경됩니다. 즉, asfAllowPendingRegistration을 지정하거나 캐비닛 파일(.cab)을 제공했기 때문에 등록이 즉시 성공하면 자동 업데이트 서비스 변경도 즉시 발생합니다. 나중에 asfAllowPendingRegistration을 지정했기 때문에 등록이 성공하지 못하면 보류 중인 서비스 등록이 결국 성공하지 않는 한 자동 업데이트 서비스 변경이 발생하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP, Windows 2000 Professional SP3 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003, Windows 2000 Server SP3 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wuapi.h |
라이브러리 | Wuguid.lib |
DLL | Wuapi.dll |