<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def getDiskFreeSpace( self, freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes, dokanFileInfo, ):
 """Get the amount of free space on this volume. :param freeBytesAvailable: pointer for free bytes available :type freeBytesAvailable: ctypes.c_void_p :param totalNumberOfBytes: pointer for total number of bytes :type totalNumberOfBytes: ctypes.c_void_p :param totalNumberOfFreeBytes: pointer for total number of free bytes :type totalNumberOfFreeBytes: ctypes.c_void_p :param dokanFileInfo: used by Dokan :type dokanFileInfo: PDOKAN_FILE_INFO :return: error code :rtype: ctypes.c_int """

        ret = self.operations('getDiskFreeSpace')
        ctypes.memmove(
            freeBytesAvailable,
            ctypes.byref(ctypes.c_longlong(ret['freeBytesAvailable'])),
            ctypes.sizeof(ctypes.c_longlong),
        )
        ctypes.memmove(
            totalNumberOfBytes,
            ctypes.byref(ctypes.c_longlong(ret['totalNumberOfBytes'])),
            ctypes.sizeof(ctypes.c_longlong),
        )
        ctypes.memmove(
            totalNumberOfFreeBytes,
            ctypes.byref(ctypes.c_longlong(ret['totalNumberOfFreeBytes'])),
            ctypes.sizeof(ctypes.c_longlong),
        )
        return d1_onedrive.impl.drivers.dokan.const.DOKAN_SUCCESS