mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-15 23:54:07 +00:00
Merge pull request #6273 from blob1807/master
Add more Windows endpoints
This commit is contained in:
@@ -470,6 +470,7 @@ foreign kernel32 {
|
||||
GlobalAlloc :: proc(flags: UINT, bytes: SIZE_T) -> LPVOID ---
|
||||
GlobalReAlloc :: proc(mem: LPVOID, bytes: SIZE_T, flags: UINT) -> LPVOID ---
|
||||
GlobalFree :: proc(mem: LPVOID) -> LPVOID ---
|
||||
GlobalSize :: proc(Mem: LPVOID) -> SIZE_T ---
|
||||
|
||||
GlobalLock :: proc(hMem: HGLOBAL) -> LPVOID ---
|
||||
GlobalUnlock :: proc(hMem: HGLOBAL) -> BOOL ---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package sys_windows
|
||||
|
||||
foreign import "system:Ole32.lib"
|
||||
foreign import Ole32 "system:Ole32.lib"
|
||||
|
||||
//objbase.h
|
||||
// Note(Dragos): https://learn.microsoft.com/en-us/windows/win32/api/objbase/ne-objbase-coinit makes you believe that MULTITHREADED == 3. That is wrong. See definition of objbase.h
|
||||
|
||||
@@ -31,6 +31,8 @@ foreign shell32 {
|
||||
SHSetKnownFolderPath :: proc(rfid: REFKNOWNFOLDERID, dwFlags: /* KNOWN_FOLDER_FLAG */ DWORD, hToken: HANDLE, pszPath: PCWSTR ) -> HRESULT ---
|
||||
SHGetKnownFolderPath :: proc(rfid: REFKNOWNFOLDERID, dwFlags: /* KNOWN_FOLDER_FLAG */ DWORD, hToken: HANDLE, ppszPath: ^LPWSTR) -> HRESULT ---
|
||||
|
||||
SHCreateItemFromParsingName :: proc(pszPath: PCWSTR, pbc: ^IBindCtx, riid: REFIID, ppv: ^rawptr) -> HRESULT ---
|
||||
|
||||
ExtractIconExW :: proc(pszFile: LPCWSTR, nIconIndex: INT, phiconLarge: ^HICON, phiconSmall: ^HICON, nIcons: UINT) -> UINT ---
|
||||
DragAcceptFiles :: proc(hWnd: HWND, fAccept: BOOL) ---
|
||||
DragQueryPoint :: proc(hDrop: HDROP, ppt: ^POINT) -> BOOL ---
|
||||
|
||||
@@ -4279,6 +4279,7 @@ CLSID_FileOpenDialog := &GUID{0xDC1C5A9C, 0xE88A, 0x4DDE, {0xA5, 0xA1, 0x60, 0xF
|
||||
CLSID_FileSaveDialog := &GUID{0xC0B4E2F3, 0xBA21, 0x4773, {0x8D, 0xBA, 0x33, 0x5E, 0xC9, 0x46, 0xEB, 0x8B}}
|
||||
CLSID_TaskbarList := &GUID{0x56FDF344, 0xFD6D, 0x11d0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
|
||||
|
||||
IID_IShellItem := &GUID{0x43826d1e, 0xe718, 0x42ee, {0xbc, 0x55, 0xa1, 0xe2, 0x61, 0xc3, 0x7b, 0xfe}}
|
||||
IID_IFileDialog := &GUID{0x42F85136, 0xDB7E, 0x439C, {0x85, 0xF1, 0xE4, 0x07, 0x5D, 0x13, 0x5F, 0xC8}}
|
||||
IID_IFileSaveDialog := &GUID{0x84BCCD23, 0x5FDE, 0x4CDB, {0xAE, 0xA4, 0xAF, 0x64, 0xB8, 0x3D, 0x78, 0xAB}}
|
||||
IID_IFileOpenDialog := &GUID{0xD57C7288, 0xD4AD, 0x4768, {0xBE, 0x02, 0x9D, 0x96, 0x95, 0x32, 0xD9, 0x60}}
|
||||
|
||||
@@ -318,12 +318,26 @@ foreign user32 {
|
||||
GetProcessWindowStation :: proc() -> HWINSTA ---
|
||||
GetUserObjectInformationW :: proc(hObj: HANDLE, nIndex: GetUserObjectInformationFlags, pvInfo: PVOID, nLength: DWORD, lpnLengthNeeded: LPDWORD) -> BOOL ---
|
||||
|
||||
OpenClipboard :: proc(hWndNewOwner: HWND) -> BOOL ---
|
||||
CloseClipboard :: proc() -> BOOL ---
|
||||
GetClipboardData :: proc(uFormat: UINT) -> HANDLE ---
|
||||
SetClipboardData :: proc(uFormat: UINT, hMem: HANDLE) -> HANDLE ---
|
||||
IsClipboardFormatAvailable :: proc(format: UINT) -> BOOL ---
|
||||
EmptyClipboard :: proc() -> BOOL ---
|
||||
OpenClipboard :: proc(hWndNewOwner: HWND) -> BOOL ---
|
||||
CloseClipboard :: proc() -> BOOL ---
|
||||
GetClipboardData :: proc(uFormat: UINT) -> HANDLE ---
|
||||
SetClipboardData :: proc(uFormat: UINT, hMem: HANDLE) -> HANDLE ---
|
||||
IsClipboardFormatAvailable :: proc(format: UINT) -> BOOL ---
|
||||
EmptyClipboard :: proc() -> BOOL ---
|
||||
AddClipboardFormatListener :: proc(hwnd: HWND) -> BOOL ---
|
||||
ChangeClipboardChain :: proc(hWndRemove: HWND, hWndNewNext: HWND) -> BOOL ---
|
||||
CountClipboardFormats :: proc() -> c_int ---
|
||||
EnumClipboardFormats :: proc(format: UINT) -> UINT ---
|
||||
GetClipboardFormatNameW :: proc(format: UINT, lpszFormatName: LPWSTR, cchMaxCount: c_int) -> c_int ---
|
||||
GetClipboardOwner :: proc() -> HWND---
|
||||
GetClipboardSequenceNumber :: proc() -> DWORD ---
|
||||
GetClipboardViewer :: proc() -> HWND ---
|
||||
GetOpenClipboardWindow :: proc() -> HWND ---
|
||||
GetPriorityClipboardFormat :: proc(paFormatPriorityList: ^UINT, cFormats: c_int) -> c_int ---
|
||||
GetUpdatedClipboardFormats :: proc(lpuiFormats: ^UINT, cFormats: UINT, pcFormatsOut: ^UINT) -> BOOL ---
|
||||
RegisterClipboardFormatW :: proc(lpszFormat: LPCWSTR ) -> UINT ---
|
||||
RemoveClipboardFormatListener :: proc(hwnd: HWND) -> BOOL ---
|
||||
SetClipboardViewer :: proc(hWndNewViewer: HWND) -> HWND ---
|
||||
|
||||
SetScrollInfo :: proc(hwnd: HWND, nBar: c_int, lpsi: ^SCROLLINFO, redraw: BOOL) -> c_int ---
|
||||
GetScrollInfo :: proc(hwnd: HWND, nBar: c_int, lpsi: ^SCROLLINFO) -> BOOL ---
|
||||
@@ -962,3 +976,11 @@ GW_OWNER :: 4
|
||||
GW_CHILD :: 5
|
||||
GW_ENABLEDPOPUP :: 6
|
||||
GW_MAX :: 6
|
||||
|
||||
COPYDATASTRUCT :: struct {
|
||||
dwData: ULONG_PTR,
|
||||
cbData: DWORD,
|
||||
lpData: PVOID,
|
||||
}
|
||||
|
||||
PCOPYDATASTRUCT :: ^COPYDATASTRUCT
|
||||
|
||||
Reference in New Issue
Block a user