GetDiskFreeSpaceExW

Jaco Pieterse <[email protected]> Wed, 1 Jun 2005 09:36:04 -0400
Newsgroups gmane.comp.windows.devel.jawin
Message-ID <LISTSERV%[email protected]>
Will someone please double check my instruction mapping for this function.

/** Windows API spec ***/
BOOL GetDiskFreeSpaceEx(
  LPCTSTR lpDirectoryName,
  PULARGE_INTEGER lpFreeBytesAvailable,
  PULARGE_INTEGER lpTotalNumberOfBytes,
  PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

/** Java code ***/
LittleEndianOutputStream leos = new LittleEndianOutputStream(nbs);
String tmpString = tmp.toString().trim();
leos.writeStringUnicode(tmpString);

byte[] res = getDriveInfo.invoke("G:A:L8L8L8", 32, nbs, null,
ReturnFlags.CHECK_FALSE);

I am lost I am not sure if this is correct. It executes the function but
returns only 4 bytes instead of 28. At least I think that I should receive
28 bytes. 4 for the result and then the three 8 byte parameter values.

Please help.