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
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