Не могу понять как корректно в следующем случае получить данные от функции WinApi. Помогите, пожалуйста. Задача: взять из реестра данные об окружении пользователя.

## Код:
```
MODULE DiaRegTest;

   IMPORT  SYSTEM, Log, WinApi, HostRegistry;
   
   TYPE
      StringPtr = POINTER TO ARRAY [untagged] OF CHAR;
   
   PROCEDURE Home*;
      VAR r, len, type, res: INTEGER;  adr: SHORTCHAR;  i: INTEGER;
      str2, data: StringPtr; hndl: WinApi.HANDLE;
   BEGIN
      res := WinApi.RegOpenKeyW(WinApi.HKEY_CURRENT_USER, "Volatile Environment", hndl);
      len := 1024;
      res := WinApi.RegQueryValueExW(hndl, "USERNAME", NIL, type, adr, len);
      
      Log.String("res: "); Log.Int(res);
      Log.String(" type: "); Log.Int(type);
      Log.String(" len: "); Log.Int(len);Гипотеза 
      Log.Ln;
      
      Log.String("data adr: "); Log.Int(SYSTEM.ADR(adr));
      Log.Ln;
      
      str2 := SYSTEM.VAL(StringPtr, SYSTEM.ADR(adr));
      Log.String(str2$); Log.Ln;
      
   END Home;

END DiaRegTest.
```
