본문 바로가기
IT-개발,DB

[개발] [Vista] CoCreateInstanceAsAdmin() 에러 메세지

by SB리치퍼슨 2010. 12. 28.
쌈꼬쪼려 소백촌닭

[Vista] CoCreateInstanceAsAdmin() 에러 메세지

UAC(User Account Control) 권한 상승 코드 The COM Elevation Moniker Admin 권한을 가진 ActiveX를 생성하기 위해 CoCreateInstanceAsAdmin()

CoCreateInstanceAsAdmin() 에러 메세지

▷ 0x800704C7 사용자가 작업을 취소했습니다.
   ; 권한 상승 화면에서 "취소"한 경우 발생

▷ 0x80080017 클래스가 관리자 권한으로 활성화를 지원하도록 구성되지 않았습니다.
   ; 레지스트리 "Elevation\Enabled = 1" 값이 누락된 경우 발생
   => HKLM\Software\Classes\CLSID\{C.L.S.I.D}\Elevation 위치에 "Enabled = 1" 값 추가

▷ 0x80080015 활성화하려면 CLSID 키 아래에 표시 이름이 있어야 합니다.
   ; 레지스트리 "LocalizedString" 값이 누락된 경우 발생
   => HKLM\Software\Classes\CLSID\{C.L.S.I.D} 위치에 "LocalizedString=@파일명,-리소스아이디" 값 추가

▷ 0x8007000D 데이터가 잘못 되었습니다.
   ; 레지스트리 LocalizedString 값의 형식이 잘못된 경우 발생
   => (@파일명,-리소스번호) 형식으로 입력
      ex) "c:\windows\system32\ax_test.dll,-101"

▷ 0x80070490 요소가 없습니다.
   ; DLL 파일에 해당 리소스아이디의 문자열값이 없는 경우 발생
   => DLL에 문자열 리소스 추가

▷ 0x80080016 활성화하려면 응용 프로그램에 대한 RunAs 값이 Activate As Activator여야 합니다.
   ; 레지스트리 "AppID" 값이 누락된 경우 발생 (??)
   => HKLM\Software\Classes\CLSID\{C.L.S.I.D} 위치에 "AppID={C.L.S.I.D}" 값 추가

▷ 0x1AD 클래스가 등록되지 않았습니다.
   ; 레지스트리 "AppID" 값이 누락된 경우 발생
   ; 레지스트리 "DllSurrogate" 값이 누락된 경우 발생
   => HKCR\AppID\{C.L.S.I.D} 위치에 "DllSurrogate=" 값 추가

출처: http://www.enjoydev.com/blog/entry/CoCreateInstanceAsAdmin-%BF%A1%B7%AF-%B8%DE%BC%BC%C1%F6


참조 권한상승 관련 링크

http://windowssdk.msdn.microsoft.com/en-us/library/ms679687.aspx

http://blogs.msdn.com/vistacompatteam/archive/2006/09/28/CoCreateInstanceAsAdmin-or-CreateElevatedComObject-sample.aspx

http://www.microsoft.com/downloads/details.aspx?FamilyID=ba73b169-a648-49af-bc5e-a2eebb74c16b&DisplayLang=en

반응형

댓글