IClassFactory2::RequestLicKey
If the fRuntimeKeyAvail
field in LICINFO has been returned as TRUE from IClassFactory2::GetLicInfo,
then this method creates and returns a license key. The caller can save the
license key persistently and use it later in calls to IClassFactory2::RequestLicKey.
HRESULT
RequestLicKey(
|
DWORD dwReserved , |
//Unused. Must be zero. |
|
BSTR* pbstrKey |
//Pointer to the license key |
|
); |
|
Parameters
dwReserved
[in] Unused.
Must be zero.
pbstrKey
[out] Pointer
to the caller-allocated BSTR variable that receives the callee-allocated
license key on successful return from this method. This parameter is set to
NULL on any failure.
Return Values
This method
supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and
E_UNEXPECTED, as well as the following:
S_OK
The license
key was successfully created.
E_NOTIMPL
This class
factory does not support run-time license keys.
E_POINTER
The address
in pbstrKey is not valid. For example, it may be NULL.
CLASS_E_NOTLICENSED
This class
factory supports run-time licensing, but the current machine itself is not
licensed. Thus, a run-time key is not available on this machine.
Remarks
The caller
can save the license key for subsequent calls to IClassFactory2::CreateInstanceLic to create objects on an
otherwise unlicensed machine.
Notes to Callers
The caller
must free the BSTR with SysFreeString when the key is no longer
needed. The value of fRuntimeKeyAvail is returned through a previous
call to IClassFactory2::GetLicInfo.
Notes to Implementers
This method
allocates the BSTR key with SysAllocString or SysAllocString[Len], and the caller becomes responsible for this BSTR
once this method returns successfully.
This method
need not be implemented when a class factory does not support run-time license
keys.
See Also