일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- EnvSet
- MouseClick
- SetKeyDelay
- 배열
- ControlSend
- if(식)
- EnvAdd
- StringGetPos
- Var:=식
- SetEnv
- IF (식)
- API
- DetectHiddenWindows
- 식
- EnvSub
- autohotkey
- Blocks
- ControlGetText
- 함수
- SetControlDelay
- Menu
- EnvDiv
- IfInString
- SetMouseDelay
- if
- IfWinExist
- 식의 설명
- SetTitleMatchMode
- Threads
- EnvMult
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
CoCreateInstance 본문
CoCreateInstance
지정되었다CLSID에 관련지을 수 있었던 클래스의1개의 미초기화 오브젝트를 작성합니다.로컬 시스템상에서1오브젝트를 작성하고 싶은 경우에 호출합니다.리모트 시스템상에서1개의 오브젝트를 작성하는 경우에는CoCreateInstanceEx함수를 호출합니다.1개의CLSID(을)를 기초로 복수의 오브젝트를 작성경우에는CoGetClassObject함수를 사용합니다.
STDAPI CoCreateInstance( REFCLSID rclsid, // 오브젝트의CLSID LPUNKNOWN pUnkOuter, // 애그리게이트 오브젝트 DWORD dwClsContext, // 문맥 REFIID riid, // 취득한다IID PVOID *ppv // 변수 주소 );
OLE32.DLL
인수
- rclsid
-
오브젝트의 작성에 사용하는 데이터 및 코드에 관련지을 수 있고 있다CLSID(을)를 지정합니다.
- pUnkOuter
-
오브젝트가 애그리게이트 오브젝트의 일부로서 작성하는 경우는 애그리게이트 오브젝트의 IUnknown인터페이스 (제어측IUnknown) 에의 포인터를 지정합니다.
0 (NULL) (을)를 지정하면, 오브젝트는 애그리게이트 오브젝트의 일부로서 작성되지 않습니다.
- dwClsContext
-
새롭게 작성되는 오브젝트의 관리 코드를 실행하는 문맥을 지정합니다.이하의 값의 편성으로 지정합니다.
- 0x1 (CLSCTX_INPROC_SERVER)
-
이 클래스의 오브젝트를 작성 및 관리하는 코드는, 호출측과 같은 프로세스로 실행된다DLL입니다.
- 0x2 (CLSCTX_INPROC_HANDLER)
-
이 클래스의 오브젝트를 관리하는 코드는 프로세스내 핸들러입니다.이것은 클라이언트 프로세스내에서 실행된다DLL그리고, 클래스의 인스턴스가 리모트로 액세스 될 때에 이 클래스의 클라이언트 사이드 구조를 작성합니다.
- 0x4 (CLSCTX_LOCAL_SERVER)
-
이 클래스의 오브젝트를 작성 및 관리한다EXE코드는 같은 머신상에서 실행됩니다만, 다른 프로세스 공간에 로드 됩니다.
- 0x17 (CLSCTX_ALL)
-
상기의3개의 플래그를 모두 포함하고 있습니다.
- riid
-
오브젝트와의 통신에 사용하는 인터페이스의 인터페이스ID (IID) 의 참조(주소)를 지정합니다.
- ppv
-
riid파라미터로 요구된 인터페이스 포인터를 격납하기 위한 변수의 주소를 지정합니다.오브젝트의 인스턴스가 정상적으로 작성되면, 이 변수에 요구한 인터페이스 포인터가 격납됩니다.작성에 실패했을 경우는, 이 변수에0 (NULL) 하지만 격납됩니다.
반환값
- 0 (S_OK)
- 지정된 오브젝트 클래스의 인스턴스가 정상적으로 작성되었습니다.
- 0x80004002 (E_NOINTERFACE)
- 지정된 클래스에서는 요구된 인터페이스가 실장되고 있지 않습니다.
- 0x80040154 (REGDB_E_CLASSNOTREG)
- 지정된 클래스가 등록 데이타베이스에 등록되지 않은지,dwClsContext파라미터로 지정된 서버 타입이 등록되지 않은지, 레지스트리의 서버 타입치가 부정합니다.
- 0x80040110 (CLASS_E_NOAGGREGATION)
- 지정된 클래스는 애그리게이트 오브젝트의 일부로서 작성할 수 없습니다.
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
CreateBitmap (0) | 2007.11.08 |
---|---|
CombineRgn (0) | 2007.11.08 |
CoCreateGuid (0) | 2007.11.08 |
CloseHandle (0) | 2007.11.08 |
ClientToScreen (0) | 2007.11.08 |