Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

REGDIR reports QWORD values incorrectly

Charles Dye

Super Moderator
May
4,948
126
Staff member
Code:
C:\>ver /r

TCC  22.00.39   Windows 7 [Version 6.1.7601]
TCC Build 39   Windows 7 Build 7601  Service Pack 1
Registered to COE-DDPTMHQ1

C:\>regdir /v /d "hkcu\control panel" | find "REG_QWORD"
            Size #0 : REG_QWORD : 3697783433894952312
            Size #1 : REG_QWORD : 3697783433894952312
            Size #2 : REG_QWORD : 3697783433894952312
            Size #3 : REG_QWORD : 3697783433894952312
            Size #4 : REG_QWORD : 3697783433894952312
            Size #5 : REG_QWORD : 3697783433894952312
            Size #6 : REG_QWORD : 3697783433894952312
            Size #7 : REG_QWORD : 3697783433894952312
            Size #8 : REG_QWORD : 3697783433894952312
            Size #9 : REG_QWORD : 3697783433894952312
            Size #0 : REG_QWORD : 3697783433894952312
            Size #1 : REG_QWORD : 3697783433894952312
            Size #2 : REG_QWORD : 3697783433894952312
            Size #3 : REG_QWORD : 3697783433894952312
            Size #4 : REG_QWORD : 3697783433894952312
            Size #5 : REG_QWORD : 3697783433894952312
            Size #6 : REG_QWORD : 3697783433894952312
            Size #7 : REG_QWORD : 3697783433894952312
            Size #8 : REG_QWORD : 3697783433894952312
            Size #9 : REG_QWORD : 3697783433894952312
            Size #0 : REG_QWORD : 3697783433894952312
            Size #1 : REG_QWORD : 3697783433894952312
            Size #2 : REG_QWORD : 3697783433894952312
            Size #3 : REG_QWORD : 3697783433894952312
            Size #4 : REG_QWORD : 3697783433894952312
            Size #5 : REG_QWORD : 3697783433894952312
            Size #6 : REG_QWORD : 3697783433894952312
            Size #7 : REG_QWORD : 3697783433894952312
            Size #8 : REG_QWORD : 3697783433894952312
            Size #9 : REG_QWORD : 3697783433894952312
            Size #0 : REG_QWORD : 3697783433894952312
            Size #1 : REG_QWORD : 3697783433894952312
            Size #2 : REG_QWORD : 3697783433894952312
            Size #3 : REG_QWORD : 3697783433894952312
            Size #4 : REG_QWORD : 3697783433894952312
            Size #5 : REG_QWORD : 3697783433894952312
            Size #6 : REG_QWORD : 3697783433894952312
            Size #7 : REG_QWORD : 3697783433894952312
            Size #8 : REG_QWORD : 3697783433894952312
            Size #9 : REG_QWORD : 3697783433894952312
            Size #0 : REG_QWORD : 3697783433894952312
            Size #1 : REG_QWORD : 3697783433894952312
            Size #2 : REG_QWORD : 3697783433894952312
            Size #3 : REG_QWORD : 3697783433894952312
            Size #4 : REG_QWORD : 3697783433894952312
            Size #5 : REG_QWORD : 3697783433894952312
            Size #6 : REG_QWORD : 3697783433894952312
            Size #7 : REG_QWORD : 3697783433894952312
            Size #8 : REG_QWORD : 3697783433894952312
            Size #9 : REG_QWORD : 3697783433894952312

C:\>

And similar under v20.11.46. Reporting a buffer's address instead of its contents?

Urgency: After sorting your sock drawer.
 
I don't know what should happen, but @CONVERT seems to handle 0xFFFFFFFFFFFFFFFF correctly and @EVAL's "=H" doesn't.
Code:
v:\> regfind test 1
HKCU\dummy

->      Value: test
        Data:  0xFFFFFFFFFFFFFFFF

v:\> echo %@regquery[hkcu\dummy\test]
18446744073709551615

v:\> echo %@convert[10,16,%@regquery[hkcu\dummy\test]]
FFFFFFFFFFFFFFFF

v:\> echo %@eval[%@regquery[hkcu\dummy\test]=H]
7FFFFFFFFFFFFFFF
 
I think @EVAL parses hex numbers as 64-bit signed. If you overflow that, the parser returns LLONG_MAX: wcstoll
 
Back
Top