slpublic.h) (SLGetPKeyInformation 函数

获取指定产品密钥的信息。

语法

HRESULT SLGetPKeyInformation(
  [in]            HSLC       hSLC,
  [in]            const SLID *pPKeyId,
  [in]            PCWSTR     pwszValueName,
  [out, optional] SLDATATYPE *peDataType,
  [out]           UINT       *pcbValue,
  [out]           PBYTE      *ppbValue
);

参数

[in] hSLC

类型: HSLC

当前 SLC 上下文的句柄。

[in] pPKeyId

类型: const SLID*

指向 PKey ID 的指针。

[in] pwszValueName

类型: PCWSTR

与要检索的值关联的名称。 以下名称有效。

含义
SL_INFO_KEY_DIGITAL_PID
L“DigitalPID”
PID4 的格式化 PID 结构
SL_INFO_KEY_DIGITAL_PID2
L“DigitalPID2”
PID2 的格式化 PID 结构
SL_INFO_KEY_PARTIAL_PRODUCT_KEY
L“PartialProductKey”
产品密钥的前 5 个字符
SL_INFO_KEY_PRODUCT_SKU_ID
L“ProductSkuId”
SKU SLID
SL_INFO_KEY_CHANNEL
L“通道”
通道 ID

[out, optional] peDataType

类型: SLDATATYPE*

数据类型。

含义
SL_DATA_SZ
UNICODE 字符串
SL_DATA_DWORD
DWORD
SL_DATA_BINARY
二进制 BLOB

[out] pcbValue

类型: UINT*

指向 ppbValue 缓冲区的大小(以字节为单位)的指针。

[out] ppbValue

类型: PBYTE*

指向 SLC 返回的数据的指针。
使用完内存后,通过调用 LocalFree 函数释放内存。

返回值

类型: HRESULT WINAPI

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

返回代码/值 说明
E_INVALIDARG
0x80070057
一个或多个参数无效。
SL_E_PKEY_NOT_INSTALLED
0xC004F014
产品密钥不可用。
SL_E_NOT_SUPPORTED
0xC004F016
不支持该请求。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 slpublic.h
Library Slc.lib
DLL Slc.dll