SLSetGenuineInformation 函数 (slpublic.h)

指定有关 Windows 计算机正版状态的信息。

语法

HRESULT SLSetGenuineInformation(
  [in]           const SLID *pQueryId,
  [in]           PCWSTR     pwszValueName,
  [in]           SLDATATYPE eDataType,
  [in, optional] UINT       cbValue,
  [in, optional] const BYTE *pbValue
);

参数

[in] pQueryId

指向 SLID 结构的指针,该结构指定要为其设置信息的应用程序。

[in] pwszValueName

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

含义
SL_BRT_DATA
设置有关计算机正版状态的信息。
SL_BRT_COMMIT
如果设置了 SL_BRT_DATA 值,则设置 SL_BRT_COMMIT 会将计算机置于非常规宽限期模式。

[in] eDataType

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

[in, optional] cbValue

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

[in, optional] pbValue

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

某些名称/值对允许此参数为 NULL。 在这种情况下,将删除名称/值对的现有值。

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

返回值

如果方法成功,则返回 S_OK

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

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

返回代码/值 说明
E_ACCESS_DENIED
0x80070005
调用方没有管理权限。
E_INVALIDARG
0x80000003
pbValue 参数不能为 NULL
(HRESULT_FROM_WIN32) ERROR_BUFFER_OVERFLOW
0x111
pbValue 缓冲区太小,无法保存数据。
SL_E_DATATYPE_MISMATCHED
0xC004F01E
pbValue 参数的数据类型与 eDataType 参数指定的类型不匹配。
SL_E_DEPENDENT_PROPERTY_NOT_SET
0xC004F066
指定的名称/值对依赖于尚未设置的名称-值对。
SL_E_NOT_SUPPORTED
0xC004F016
不支持 pwszValueName 参数指定的名称。

要求

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