On 2020-01-29 14:20, Trey Harris wrote:
I don’t care about IpData or ValueData—those are completely unremarkable fields. Showing me more code relating to them—or any other fields besides cData—isn’t helpful to understanding how the 3-bytes UTF + null cData field works.

hi Trey,

I think what I am missing is your "3-bytes UTF + null" question.

It is only four bytes long when addressed as a REG_DWORD
(32 bit unsigned integer).  There is no nul at the end.

The bounds are 0x0..0xFFFF_FFFF.  No boxing allowed

$cbData = 4;


If your are addressing is as a REG_SZ (registry string),
it can be as many bytes as you want when.  You just have
to terminate it with a 0x0000

$cbData = $lpData.elems * 2;  # words are two bytes long

Does that help?

-T

Reply via email to