IClassFactory2::CreateInstanceLic 方法 (ocidl.h)
為指定的授權金鑰建立授權對象的實例。 這個方法是唯一在未授權的計算機上建立物件的方法。
語法
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,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功建立授權。 |
|
無法實作這個方法,因為物件只能透過 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 |