浏览代码

sys/windows: add free disk space function binding

hikari 3 年之前
父节点
当前提交
fa6cfde4b0
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 7 0
      core/sys/windows/kernel32.odin
  2. 1 0
      core/sys/windows/types.odin

+ 7 - 0
core/sys/windows/kernel32.odin

@@ -346,6 +346,13 @@ foreign kernel32 {
 	GenerateConsoleCtrlEvent :: proc(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD) -> BOOL ---
 	FreeConsole :: proc() -> BOOL ---
 	GetConsoleWindow :: proc() -> HWND ---
+
+	GetDiskFreeSpaceExW :: proc(
+		lpDirectoryName: LPCWSTR,
+		lpFreeBytesAvailableToCaller: PULARGE_INTEGER,
+		lpTotalNumberOfBytes: PULARGE_INTEGER,
+		lpTotalNumberOfFreeBytes: PULARGE_INTEGER,
+	) -> BOOL ---
 }
 
 

+ 1 - 0
core/sys/windows/types.odin

@@ -44,6 +44,7 @@ BOOLEAN :: distinct b8
 GROUP :: distinct c_uint
 LARGE_INTEGER :: distinct c_longlong
 ULARGE_INTEGER :: distinct c_ulonglong
+PULARGE_INTEGER :: ^ULARGE_INTEGER
 LONG :: c_long
 UINT :: c_uint
 INT  :: c_int