slGetGenuineInformation 函数 (slpublic.h)

获取有关 Windows 计算机正版状态的信息。

语法

HRESULT SLGetGenuineInformation(
  [in]            const SLID *pQueryId,
  [in]            PCWSTR     pwszValueName,
  [out, optional] SLDATATYPE *peDataType,
  [out]           UINT       *pcbValue,
  [out]           BYTE       **ppbValue
);

参数

[in] pQueryId

指向 SLID 结构的指针,该结构指定要检查的应用程序。

[in] pwszValueName

指向以 null 结尾的字符串的指针,该字符串包含与要检索的值关联的名称。 以下名称有效。

含义
SL_BRT_DATA
获取一个值,该值指定计算机是否为正版。
SL_BRT_COMMIT
获取一个值,该值指定计算机是否处于非常规宽限期模式。
SL_GENUINE_RESULT
获取上次调用 SLAcquireGenuineTicket 函数后返回的值。
SL_NONGENUINE_GRACE_FLAG
获取计算机进入非常规宽限期模式的原因。

[out, optional] peDataType

指向 SLDATATYPE 枚举的值的指针,该值指定 ppbValue 缓冲区中的数据类型。

[out] pcbValue

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

[out] ppbValue

指向 BYTE 指针数组的指针的地址,该数组指定与 pwszValueName 参数指定的名称关联的值。

使用此数组后,通过调用 LocalFree 函数释放它。

返回值

如果该方法成功,则返回 S_OK

如果方法失败,它将返回错误代码。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

此函数可以返回 Slerror.h 中定义的以下值。

返回代码/值 说明
SL_E_NOT_SUPPORTED
0xC004F016
不支持 pwszValueName 参数指定的名称。
SL_E_VALUE_NOT_FOUND
0xC004F012
找不到指定的名称/值对。

要求

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

另请参阅

SLDATATYPE

SLGetWindowsInformation