다음을 통해 공유


SHCoCreateInstance 함수(shlobj_core.h)

[SHCoCreateInstance 는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 CoCreateInstance를 사용합니다.]

Shell32.dll 구현되는 COM(구성 요소 개체 모델) 개체를 만듭니다.

구문

SHSTDAPI SHCoCreateInstance(
  [in, optional] PCWSTR      pszCLSID,
  [in, optional] const CLSID *pclsid,
  [in, optional] IUnknown    *pUnkOuter,
  [in]           REFIID      riid,
  [out]          void        **ppv
);

매개 변수

[in, optional] pszCLSID

형식: PCWSTR

CLSID로 변환할 문자열에 대한 포인터입니다. NULL이면 pclsid가 CLSID로 사용됩니다.

[in, optional] pclsid

형식: const CLSID*

만들 CLSID입니다.

[in, optional] pUnkOuter

형식: IUnknown*

외부 IUnknown에 대한 포인터입니다. 집계에 사용됩니다.

[in] riid

형식: REFIID

ppv를 통해 검색할 인터페이스의 IID에 대한 참조입니다.

[out] ppv

형식: void**

이 함수가 성공적으로 반환되면 는 riid에서 요청된 인터페이스 포인터를 받습니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

Objbase.h에 정의된 IID_PPV_ARGS 매크로를 사용하여 riidppv 매개 변수를 패키지하는 것이 좋습니다. 이 매크로는 ppv의 값이 가리키는 인터페이스를 기반으로 올바른 IID를 제공하므로 riid 에서 코딩 오류가 발생하여 예기치 않은 결과가 발생할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h(Shlobj.h 포함)
라이브러리 Shell32.lib
DLL Shell32.dll(버전 5.0 이상)