IClassFactory2::CreateInstanceLic 메서드(ocidl.h)
지정된 라이선스 키에 대한 사용이 허가된 개체의 instance 만듭니다. 이 메서드는 사용 허가되지 않은 컴퓨터에서 개체를 만들 수 있는 유일한 방법입니다.
구문
HRESULT CreateInstanceLic(
[in] IUnknown *pUnkOuter,
[in] IUnknown *pUnkReserved,
[in] REFIID riid,
[in] BSTR bstrKey,
[out] PVOID *ppvObj
);
매개 변수
[in] pUnkOuter
이 개체가 집계의 일부로 만들어지는 경우 알 수 없는 외부의 제어 IUnknown 인터페이스에 대한 포인터입니다. 개체가 집계의 일부가 아닌 경우 이 매개 변수는 NULL이어야 합니다.
[in] pUnkReserved
이 매개 변수는 사용되지 않으며 NULL이어야 합니다.
[in] riid
새로 만든 개체와 통신하는 데 사용할 인터페이스의 식별자에 대한 참조입니다.
[in] bstrKey
개체를 만드는 데 필요한 IClassFactory2::RequestLicKey 에서 이전에 가져온 런타임 라이선스 키입니다.
[out] ppvObj
riid에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다. 반환이 성공하면 *ppvObj 에 요청된 인터페이스 포인터가 포함됩니다. 오류가 발생하면 구현에서 *ppvObj 를 NULL로 설정해야 합니다.
반환 값
이 메서드는 다음 값뿐만 아니라 E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 표준 반환 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
라이선스가 성공적으로 만들어졌습니다. |
|
IClassFactory::CreateInstance를 통해 완전히 라이선스가 부여된 컴퓨터에서만 개체를 만들 수 있으므로 이 메서드는 구현되지 않습니다. |
|
bstrKey 또는 ppvObj에 전달된 포인터가 잘못되었습니다. 예를 들어 NULL일 수 있습니다. |
|
개체가 riid로 지정된 인터페이스를 지원하지 않는다는 점을 제외하고 개체를 만들 수 있고 라이선스 키가 유효합니다. |
|
pUnkOuter 매개 변수는 NULL이 아니지만 이 개체 클래스는 집계를 지원하지 않습니다. |
|
bstrKey에 제공된 키가 유효한 라이선스 키가 아닙니다. |
설명
구현자에 대한 참고 사항
클래스 팩터리에서 라이선스 키(즉, IClassFactory2::RequestLicKey가 E_NOTIMPL 반환하고 LICINFO의 fRuntimeKeyAvail 멤버가 IClassFactory2::GetLicInfo에서 FALSE로 설정된 경우) 이 메서드는 E_NOTIMPL 반환할 수도 있습니다. 이러한 경우 클래스 팩터리는 단순히 IClassFactory2를 구현하여 LICINFO의 fLicVerified 멤버를 통해 머신의 라이선스를 전혀 부여할지 여부를 지정합니다.요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ocidl.h |