Разобрался:

## Код:
```
PROCEDURE Start*;
CONST
   nVolumeNameSize = WinApi.MAX_PATH;
   nFileSystemNameSize = WinApi.MAX_PATH;
VAR
   b: WinApi.BOOL;
   volumeNameBuffer, lpFileSystemNameBuffer: WinApi.PtrWSTR;
   str1: ARRAY nVolumeNameSize OF CHAR;
   str2: ARRAY nFileSystemNameSize OF CHAR;
   lpVolumeSerialNumber, lpMaximumComponentLength, i, contentLock, contentSize, size: INTEGER;
   lpFileSystemFlags: SET;
   p, p2: WinApi.PtrVoid;
   long, l2, l3: LONGINT;
BEGIN
   p := WinApi.HeapAlloc (WinApi.GetProcessHeap(), {}, nVolumeNameSize);
   SYSTEM.PUT (SYSTEM.ADR (volumeNameBuffer), p);
   p2 := WinApi.HeapAlloc (WinApi.GetProcessHeap(), {}, nFileSystemNameSize);
   SYSTEM.PUT (SYSTEM.ADR (lpFileSystemNameBuffer), p2);
   
   b := WinApi.GetVolumeInformationW ("F:\", volumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize);
   IF b # 0 THEN         
      IF volumeNameBuffer # NIL THEN
         FOR i := 0 TO LEN (str1) - 1 DO
            str1[i] := volumeNameBuffer[i];
         END;
         str1[i - 1] := 0X;
      END;
      StdLog.String ("Имя тома: "); StdLog.String (str1); StdLog.Ln;
      
      IF lpFileSystemNameBuffer # NIL THEN
         FOR i := 0 TO LEN (str2) - 1 DO
            str2[i] := lpFileSystemNameBuffer[i];
         END;
         str2[i - 1] := 0X;
      END;
      StdLog.String ("Имя файловой системы: "); StdLog.String (str2); StdLog.Ln;
      
      long := ABS (LONG (MIN (INTEGER))) + 1;
      l2 := ABS (lpVolumeSerialNumber);
      l3 := MAX(INTEGER);
      long := long - l2 + l3;
      
      StdLog.String ("Серийный номер:"); StdLog.Int (lpVolumeSerialNumber); StdLog.String (" т.е. "); StdLog.Int (long); StdLog.Ln; 
      StdLog.String ("Максимальная длина файла:"); StdLog.Int (lpMaximumComponentLength); StdLog.Ln;
      StdLog.String ("Опции файловой системы: "); StdLog.Set (lpFileSystemFlags); StdLog.Ln;   
   ELSE
      StdLog.String ("Ошибка"); StdLog.Ln
   END
END Start;
```
