If you look in the platform SDK documentation, you find:
BOOL GetComputerName(
LPTSTR lpBuffer, // computer name
LPDWORD lpnSize // size of name buffer
);
lpnSize is of type LPDWORD, that is a pointer to a DWORD. So you need to pass an address and not a value, so BY REFERENCE.
If you compare that with this one:
DWORD GetCurrentDirectory(
DWORD nBufferLength, // size of directory buffer
LPTSTR lpBuffer // directory buffer
);
you can see nBufferLength is of type DWORD, this is a value. So in this case you should have in your code:
CALL "GetCurrentDirectoryA" USING BY VALUE NBUFFERLENGTH
BY REFERENCE CURDIR
RETURNING FUNCTIONRETURN.
Marcel