ExUpdateLicenseData

This function sets the whole of the binary data for the ProductPolicy value.

Declaration

NTSTATUS
ExUpdateLicenseData (
    PVOID pvData,
    ULONG cbData);

Parameters

The pvData and cbData arguments provide the address and size (in bytes) of a buffer that contains the license data.

Return Value

The function returns zero for success, else an error code.

Behaviour

The license data expected in the buffer is exactly the binary data for the ProductPolicy registry value. It has the form of a header, an array of variably-sized structures that provide the license values, and an end marker.

A buffer is required and must be dword-aligned. The size must allow for at least the header and end marker, without exceeding 64KB. Failure to meet these requirements is an error (STATUS_INVALID_PARAMETER).

Availability

The ExUpdateLicenseData function is exported by name from the kernel in version 6.0 and higher.

Use by Microsoft

The only known use by Microsoft is in SPSYS.SYS and in the kernel itself.

The internal use is during initialisation, when the kernel adopts the license data that has been read from the ProductPolicy value in the ProductOptions key.