├── img ├── WinAPI_DataTypes.png └── WinAPI_DataTypes_Dark.png ├── src ├── v1.1_deprecated │ ├── AHK_MSDN_Types_1.png │ ├── AHK_MSDN_Types_2.png │ ├── Windows_Data_Types_online.ahk │ ├── Windows_Data_Types.csv │ ├── Windows_Data_Types_offline.ahk │ └── Windows_Data_Types.txt └── WinAPI_DataTypes.ahk ├── LICENSE └── README.md /img/WinAPI_DataTypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jNizM/AutoHotkey_MSDN_Types/HEAD/img/WinAPI_DataTypes.png -------------------------------------------------------------------------------- /img/WinAPI_DataTypes_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jNizM/AutoHotkey_MSDN_Types/HEAD/img/WinAPI_DataTypes_Dark.png -------------------------------------------------------------------------------- /src/v1.1_deprecated/AHK_MSDN_Types_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jNizM/AutoHotkey_MSDN_Types/HEAD/src/v1.1_deprecated/AHK_MSDN_Types_1.png -------------------------------------------------------------------------------- /src/v1.1_deprecated/AHK_MSDN_Types_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jNizM/AutoHotkey_MSDN_Types/HEAD/src/v1.1_deprecated/AHK_MSDN_Types_2.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 jNizM 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Windows Data Types for AutoHotkey 2 | [![AHK](https://img.shields.io/badge/ahk-2.0--beta.3-C3D69B.svg?style=flat-square)]() 3 | [![OS](https://img.shields.io/badge/os-windows-C3D69B.svg?style=flat-square)]() 4 | [![Releases](https://img.shields.io/github/downloads/jNizM/AutoHotkey_MSDN_Types/total.svg?style=flat-square&color=95B3D7)](https://github.com/jNizM/AutoHotkey_MSDN_Types/releases) 5 | 6 | Translated MSDN Types for DllCall's in AutoHotkey 7 | 8 | 9 | ## Examples 10 | ![WinAPI_DataTypes](img/WinAPI_DataTypes.png) 11 | ![WinAPI_DataTypes_Dark](img/WinAPI_DataTypes_Dark.png) 12 | 13 | 14 | ## Contributing 15 | * special thanks to just me and TheArkive 16 | 17 | 18 | ## Questions / Bugs / Issues 19 | If you notice any kind of bugs or issues, report them on the [AHK Thread](https://www.autohotkey.com/boards/viewtopic.php?t=99817). Same for any kind of questions. 20 | 21 | 22 | ## Copyright and License 23 | [![MIT License](https://img.shields.io/github/license/jNizM/AutoHotkey_MSDN_Types.svg?style=flat-square&color=C3D69B)](LICENSE) 24 | 25 | 26 | ## Donations 27 | [![PayPal](https://img.shields.io/badge/paypal-donate-B2A2C7.svg?style=flat-square)](https://www.paypal.me/smithz) -------------------------------------------------------------------------------- /src/v1.1_deprecated/Windows_Data_Types_online.ahk: -------------------------------------------------------------------------------- 1 | ; =============================================================================================================================== 2 | ; AHK Version ...: AHK_L 1.1.22.00 x64 Unicode 3 | ; Win Version ...: Windows 7 Professional x64 SP1 4 | ; Description ...: Windows Data Types for AHK 5 | ; (https://msdn.microsoft.com/en-us/library/aa383751.aspx) 6 | ; Version .......: v0.2 7 | ; Modified ......: 2015.05.04-1927 8 | ; Author ........: jNizM (+ just me for the translation) 9 | ; Licence .......: Unlicense (http://unlicense.org/) 10 | ; =============================================================================================================================== 11 | ;@Ahk2Exe-SetName Windows_Data_Types_for_AHK 12 | ;@Ahk2Exe-SetDescription Windows Data Types for AHK 13 | ;@Ahk2Exe-SetVersion v0.2 14 | ;@Ahk2Exe-SetCopyright Copyright (c) 2015-2015`, jNizM 15 | ;@Ahk2Exe-SetOrigFilename Windows_Data_Types_for_AHK.ahk 16 | ; =============================================================================================================================== 17 | 18 | ; GLOBAL SETTINGS =============================================================================================================== 19 | 20 | #Warn 21 | #NoEnv 22 | #SingleInstance Force 23 | 24 | global csv := DownloadToString("https://raw.githubusercontent.com/jNizM/AutoHotkey_MSDN_Types/master/src/Windows_Data_Types.csv") 25 | 26 | ; GUI =========================================================================================================================== 27 | 28 | Gui +Resize -MaximizeBox 29 | Gui, Font,, Courier New 30 | Gui, Add, ListView, x5 y5 w500 h400 vLVData, % "Data Type|AHK Type|Alternative for DllCall()|MSDN Definition" 31 | LV_ModifyCol(1, 155), LV_ModifyCol(2, 175), LV_ModifyCol(3, 187), LV_ModifyCol(4, 432) 32 | Gui, Add, Edit, x5 y+1 w445 h23 hWndEditSearch gLVSearch vEditSearch 33 | DllCall("user32.dll\SendMessage", "Ptr", EditSearch, "UInt", 0x1501, "Ptr", 1, "Str", "Search Data Type", "Ptr") 34 | Gui, Add, Edit, x+5 yp w54 h23 0x800 vEditEntries 35 | Gui, Show, AutoSize, % "Windows Data Types for AHK" 36 | Gui, +LastFound 37 | WinSet, Redraw 38 | 39 | ListView: 40 | MSDN_TYPES_ARR := [] 41 | loop, parse, csv, `n, `r 42 | { 43 | loop, parse, A_LoopField, csv 44 | { 45 | MSDN_TYPES_ARR := StrSplit(A_LoopField, ";") 46 | LV_Add("", MSDN_TYPES_ARR[1], MSDN_TYPES_ARR[2], MSDN_TYPES_ARR[3], MSDN_TYPES_ARR[4], MSDN_TYPES_ARR[5]), LV_ModifyCol(1, "Sort") 47 | } 48 | } 49 | GuiControl,, EditEntries, % LV_GetCount() 50 | GuiControl, Focus, EditSearch 51 | return 52 | 53 | ; SCRIPT ======================================================================================================================== 54 | 55 | GuiSize: 56 | if (ErrorLevel) 57 | return 58 | GuiControl, Move, LVData, % "x5 y5 w" (A_GuiWidth - 10) " h" (A_GuiHeight - 40) 59 | GuiControl, Move, EditSearch, % "x5 y" (A_GuiHeight - 29) " w" (A_GuiWidth - 69) 60 | GuiControl, Move, EditEntries, % "x" (A_GuiWidth - 59) " y" (A_GuiHeight - 29) 61 | return 62 | 63 | LVSearch: 64 | Gui, Submit, NoHide 65 | LV_Delete(), MSDN_TYPES_ARR := [] 66 | loop, parse, csv, `n, `r 67 | { 68 | loop, parse, A_LoopField, csv 69 | { 70 | MSDN_TYPES_ARR := StrSplit(A_LoopField, ";") 71 | if (InStr(MSDN_TYPES_ARR[1], EditSearch)) 72 | LV_Add("", MSDN_TYPES_ARR[1], MSDN_TYPES_ARR[2], MSDN_TYPES_ARR[3], MSDN_TYPES_ARR[4], MSDN_TYPES_ARR[5]), LV_ModifyCol(1, "Sort") 73 | } 74 | } 75 | GuiControl,, EditEntries, % LV_GetCount() 76 | return 77 | 78 | ; FUNCTIONS ===================================================================================================================== 79 | 80 | DownloadToString(url, encoding := "UTF-8") ; by Bentschi 81 | { 82 | static a := "AutoHotkey/" A_AhkVersion 83 | if (!DllCall("kernel32.dll\LoadLibrary", "Str", "wininet") || !(h := DllCall("wininet.dll\InternetOpen", "Str", a, "UInt", 1, "Ptr", 0, "Ptr", 0, "UInt", 0, "Ptr"))) 84 | return 0 85 | c := s := 0, o := r := "" 86 | if (f := DllCall("wininet.dll\InternetOpenUrl", "Ptr", h, "Str", url, "Ptr", 0, "UInt", 0, "UInt", 0x80003000, "Ptr", 0, "Ptr")) 87 | { 88 | while (DllCall("wininet.dll\InternetQueryDataAvailable", "ptr", f, "UInt*", s, "UInt", 0, "UPtr", 0) && s > 0) 89 | { 90 | VarSetCapacity(b, s, 0) 91 | DllCall("wininet.dll\InternetReadFile", "Ptr", f, "Ptr", &b, "UInt", s, "UInt*", r) 92 | o .= StrGet(&b, r >> (encoding = "UTF-16" || encoding = "CP1200"), encoding) 93 | } 94 | DllCall("wininet.dll\InternetCloseHandle", "Ptr", f) 95 | } 96 | DllCall("wininet.dll\InternetCloseHandle", "Ptr", h) 97 | return o 98 | } 99 | 100 | ; EXIT ========================================================================================================================== 101 | 102 | GuiClose: 103 | GuiEscape: 104 | ExitApp -------------------------------------------------------------------------------- /src/v1.1_deprecated/Windows_Data_Types.csv: -------------------------------------------------------------------------------- 1 | ATOM,UShort,,,2,2,typedef WORD ATOM 2 | BOOL,Int,,4,4,typedef int BOOL 3 | BOOLEAN,UChar,,1,1,typedef BYTE BOOLEAN 4 | BYTE,UChar,,1,1,typedef unsigned char BYTE 5 | CCHAR,Char,,1,1,typedef char CCHAR 6 | CHAR,Char,,1,1,typedef char CHAR 7 | COLORREF,UInt,,4,4,typedef DWORD COLORREF 8 | DWORD,UInt,,4,4,typedef unsigned long DWORD 9 | DWORDLONG,Int64,,8,8,typedef unsigned __int64 DWORDLONG 10 | DWORD_PTR,UPtr,,4,8,typedef ULONG_PTR DWORD_PTR 11 | DWORD32,UInt,,4,4,typedef unsigned int DWORD32 12 | DWORD64,Int64,,8,8,typedef unsigned __int64 DWORD64 13 | FLOAT,Float,,,4,4,typedef float FLOAT 14 | HACCEL,Ptr,,typedef HANDLE HACCEL 15 | HALF_PTR,Short (32) | Int (64),,typedef short HALF_PTR | typedef int HALF_PTR 16 | HANDLE,Ptr,,typedef PVOID HANDLE 17 | HBITMAP,Ptr,,typedef HANDLE HBITMAP 18 | HBRUSH,Ptr,,typedef HANDLE HBRUSH 19 | HCOLORSPACE,Ptr,,typedef HANDLE HCOLORSPACE 20 | HCONV,Ptr,,typedef HANDLE HCONV 21 | HCONVLIST,Ptr,,typedef HANDLE HCONVLIST 22 | HCURSOR,Ptr,,typedef HICON HCURSOR 23 | HDC,Ptr,,typedef HANDLE HDC 24 | HDDEDATA,Ptr,,typedef HANDLE HDDEDATA 25 | HDESK,Ptr,,typedef HANDLE HDESK 26 | HDROP,Ptr,,typedef HANDLE HDROP 27 | HDWP,Ptr,,typedef HANDLE HDWP 28 | HENHMETAFILE,Ptr,,typedef HANDLE HENHMETAFILE 29 | HFILE,Int,,typedef int HFILE 30 | HFONT,Ptr,,typedef HANDLE HFONT 31 | HGDIOBJ,Ptr,,typedef HANDLE HGDIOBJ 32 | HGLOBAL,Ptr,,typedef HANDLE HGLOBAL 33 | HHOOK,Ptr,,typedef HANDLE HHOOK 34 | HICON,Ptr,,typedef HANDLE HICON 35 | HINSTANCE,Ptr,,typedef HANDLE HINSTANCE 36 | HKEY,Ptr,,typedef HANDLE HKEY 37 | HKL,Ptr,,typedef HANDLE HKL 38 | HLOCAL,Ptr,,typedef HANDLE HLOCAL 39 | HMENU,Ptr,,typedef HANDLE HMENU 40 | HMETAFILE,Ptr,,typedef HANDLE HMETAFILE 41 | HMODULE,Ptr,,typedef HINSTANCE HMODULE 42 | HMONITOR,Ptr,,typedef HANDLE HMONITOR 43 | HPALETTE,Ptr,,typedef HANDLE HPALETTE 44 | HPEN,Ptr,,typedef HANDLE HPEN 45 | HRESULT,Int,,typedef LONG HRESULT 46 | HRGN,Ptr,,typedef HANDLE HRGN 47 | HRSRC,Ptr,,typedef HANDLE HRSRC 48 | HSZ,Ptr,,typedef HANDLE HSZ 49 | HWINSTA,Ptr,,typedef HANDLE WINSTA 50 | HWND,Ptr,,typedef HANDLE HWND 51 | INT,Int,,typedef int INT 52 | INT_PTR,Ptr,,typedef int INT_PTR / __int64 INT_PTR 53 | INT8,Char,,typedef signed char INT8 54 | INT16,Short,,typedef signed short INT16 55 | INT32,Int,,typedef signed int INT32 56 | INT64,Int64,,typedef signed __int64 INT64 57 | LANGID,UShort,,typedef WORD LANGID 58 | LCID,UInt,,typedef DWORD LCID 59 | LCTYPE,UInt,,typedef DWORD LCTYPE 60 | LGRPID,UInt,,typedef DWORD LGRPID 61 | LONG,Int,,typedef long LONG 62 | LONGLONG,Int64,,typedef __int64 LONGLONG 63 | LONG_PTR,Ptr,,typedef long LONG_PTR / __int64 LONG_PTR 64 | LONG32,Int,,typedef signed int LONG32 65 | LONG64,Int64,,typedef __int64 LONG64 66 | LPARAM,Ptr,,typedef LONG_PTR LPARAM 67 | LPBOOL,Ptr,IntP,typedef BOOL far *LPBOOL 68 | LPBYTE,Ptr,UCharP,typedef BYTE far *LPBYTE 69 | LPCOLORREF,Ptr,UIntP,typedef DWORD *LPCOLORREF 70 | LPCSTR,Ptr,Str / AStr,typedef __nullterminated CONST CHAR *LPCST 71 | LPCTSTR,Ptr,Str,typedef LPCSTR LPCTSTR / LPCWSTR LPCTSTR 72 | LPCVOID,Ptr,PtrP,typedef CONST void *LPCVOID 73 | LPCWSTR,Ptr,Str / WStr,typedef CONST WCHAR *LPCWSTR 74 | LPDWORD,Ptr,UIntP,typedef DWORD *LPDWORD 75 | LPHANDLE,Ptr,PtrP,typedef HANDLE *LPHANDLE 76 | LPINT,Ptr,IntP,typedef int *LPINT 77 | LPLONG,Ptr,IntP,typedef long *LPLONG 78 | LPSTR,Ptr,Str / AStr,typedef CHAR *LPSTR 79 | LPTSTR,Ptr,Str,typedef LPSTR LPTSTR / LPWSTR LPTSTR 80 | LPVOID,Ptr,PtrP,typedef void *LPVOID 81 | LPWORD,Ptr,UShortP,typedef WORD *LPWORD 82 | LPWSTR,Ptr,Str / WStr,typedef WCHAR *LPWSTR 83 | LRESULT,Ptr,,typedef LONG_PTR LRESULT 84 | PBOOL,Ptr,IntP,typedef BOOL *PBOOL 85 | PBOOLEAN,Ptr,CharP,typedef BOOLEAN *PBOOLEAN 86 | PBYTE,Ptr,UCharP,typedef BYTE *PBYTE 87 | PCHAR,Ptr,CharP,typedef CHAR *PCHAR 88 | PCSTR,Ptr,Str / AStr,typedef CONST CHAR *PCSTR 89 | PCTSTR,Ptr,Str,typedef LPCSTR PCTSTR / LPCWSTR PCTSTR 90 | PCWSTR,Ptr,Str / WStr,typedef CONST WCHAR *PCWSTR 91 | PDWORD,Ptr,UIntP,typedef DWORD *PDWORD 92 | PDWORDLONG,Ptr,Int64P,typedef DWORDLONG *PDWORDLONG 93 | PDWORD_PTR,Ptr,UPtrP,typedef DWORD_PTR *PDWORD_PTR 94 | PDWORD32,Ptr,UIntP,typedef DWORD32 *PDWORD3 95 | PDWORD64,Ptr,Int64P,typedef DWORD64 *PDWORD64 96 | PFLOAT,Ptr,FloatP,typedef FLOAT *PFLOAT 97 | PHALF_PTR,Short (32) | Int (64),ShortP | IntP,typedef HALF_PTR *PHALF_PTR | typedef HALF_PTR *PHALF_PTR 98 | PHANDLE,Ptr,PtrP,typedef HANDLE *PHANDLE 99 | PHKEY,Ptr,PtrP,typedef HKEY *PHKEY 100 | PINT,Ptr,IntP,typedef int *PINT 101 | PINT_PTR,Ptr,PtrP,typedef INT_PTR *PINT_PTR 102 | PINT8,Ptr,CharP,typedef INT8 *PINT8 103 | PINT16,Ptr,ShortP,typedef INT16 *PINT16 104 | PINT32,Ptr,IntP,typedef INT32 *PINT32 105 | PINT64,Ptr,Int64P,typedef INT64 *PINT64 106 | PLCID,Ptr,UIntP,typedef PDWORD PLCID 107 | PLONG,Ptr,IntP,typedef LONG *PLONG 108 | PLONGLONG,Ptr,Int64P,typedef LONGLONG *PLONGLONG 109 | PLONG_PTR,Ptr,PtrP,typedef LONG_PTR *PLONG_PTR 110 | PLONG32,Ptr,IntP,typedef LONG32 *PLONG32 111 | PLONG64,Ptr,Int64P,typedef LONG64 *PLONG64 112 | POINTER_32,Int,,#define POINTER_32 __ptr32 113 | POINTER_64,Int64,,#define POINTER_64 __ptr64 114 | POINTER_SIGNED,Ptr,,#define POINTER_SIGNED __sptr 115 | POINTER_UNSIGNED,UPtr,,#define POINTER_UNSIGNED __uptr 116 | PSHORT,Ptr,ShortP,typedef SHORT *PSHORT 117 | PSIZE_T,Ptr,UPtrP,typedef SIZE_T *PSIZE_T 118 | PSSIZE_T,Ptr,PtrP,typedef SSIZE_T *PSSIZE_T 119 | PSTR,Ptr,Str / AStr,typedef CHAR *PSTR 120 | PTBYTE,Ptr,UCharP (A) | UShortP (U),typedef TBYTE *PTBYTE | typedef TBYTE *PTBYTE 121 | PTCHAR,Ptr,CharP (A) | ShortP (U),typedef TCHAR *PTCHAR | typedef TCHAR *PTCHAR 122 | PTSTR,Ptr,Str / AStr / WStr,typedef LPSTR PTSTR / LPWSTR PTSTR 123 | PUCHAR,Ptr,UCharP,typedef UCHAR *PUCHAR 124 | PUHALF_PTR,UShort (32) | UInt (64),UShortP | UIntP,typedef UHALF_PTR *PUHALF_PTR | typedef UHALF_PTR *PUHALF_PTR 125 | PUINT,Ptr,UIntP,typedef UINT *PUINT 126 | PUINT_PTR,UPtr,UPtrP,typedef UINT_PTR *PUINT_PTR 127 | PUINT8,Ptr,UCharP,typedef UINT8 *PUINT8 128 | PUINT16,Ptr,UShortP,typedef UINT16 *PUINT16 129 | PUINT32,Ptr,UIntP,typedef UINT32 *PUINT32 130 | PUINT64,Ptr,Int64P,typedef UINT64 *PUINT64 131 | PULONG,Ptr,UIntP,typedef ULONG *PULONG 132 | PULONGLONG,Ptr,Int64P,typedef ULONGLONG *PULONGLONG 133 | PULONG_PTR,UPtr,UPtrP,typedef ULONG_PTR *PULONG_PTR 134 | PULONG32,Ptr,UIntP,typedef ULONG32 *PULONG32 135 | PULONG64,Ptr,Int64P,typedef ULONG64 *PULONG64 136 | PUSHORT,Ptr,UShortP,typedef USHORT *PUSHORT 137 | PVOID,Ptr,PtrP,typedef void *PVOID 138 | PWCHAR,Ptr,UShortP,typedef WCHAR *PWCHAR 139 | PWORD,Ptr,UShortP,typedef WORD *PWORD 140 | PWSTR,Ptr,Str / WStr,typedef WCHAR *PWSTR 141 | QWORD,Int64,,typedef unsigned __int64 QWORD, 142 | SC_HANDLE,Ptr,,typedef HANDLE SC_HANDLE 143 | SC_LOCK,Ptr,PtrP,typedef LPVOID SC_LOCK 144 | SERVICE_STATUS_HANDLE,Ptr,,typedef HANDLE SERVICE_STATUS_HANDLE 145 | SHORT,Short,,typedef short SHORT 146 | SIZE_T,UPtr,,typedef ULONG_PTR SIZE_T 147 | SSIZE_T,Ptr,,typedef LONG_PTR SSIZE_T 148 | TBYTE,UChar (A) | UShort (U),,typedef unsigned char TBYTE | typedef WCHAR TBYTE 149 | TCHAR,Char (A) | UShort (U),,typedef char TCHAR | typedef WCHAR TCHAR 150 | UCHAR,UChar,,typedef unsigned char UCHAR 151 | UHALF_PTR,UShort (32) | UInt (64),,typedef unsigned short UHALF_PTR | typedef unsigned int UHALF_PTR 152 | UINT,UInt,,typedef unsigned int UINT 153 | UINT_PTR,UPtr,,typedef unsigned int UINT_PTR / unsigned __int64 UINT_PTR 154 | UINT8,UChar,,typedef unsigned char UINT8 155 | UINT16,UShort,,typedef unsigned short UINT16 156 | UINT32,UInt,,typedef unsigned int UINT32 157 | UINT64,Int64,,typedef usigned __int 64 UINT64 158 | ULONG,UInt,,typedef unsigned long ULONG 159 | ULONGLONG,Int64,,typedef unsigned __int64 ULONGLONG 160 | ULONG_PTR,UPtr,,typedef unsigned long ULONG_PTR / unsigned __int64 ULONG_PTR 161 | ULONG32,UInt,,typedef unsigned int ULONG32 162 | ULONG64,Int64,,typedef unsigned __int64 ULONG64 163 | USHORT,UShort,,typedef unsigned short USHORT 164 | USN,Int64,,typedef LONGLONG USN 165 | VOID,Ptr,,#define VOID void 166 | WCHAR,UShort,,typedef wchar_t WCHAR 167 | WORD,UShort,,typedef unsigned short WORD 168 | WPARAM,UPtr,,typedef UINT_PTR WPARAM -------------------------------------------------------------------------------- /src/v1.1_deprecated/Windows_Data_Types_offline.ahk: -------------------------------------------------------------------------------- 1 | ; =============================================================================================================================== 2 | ; AHK Version ...: AHK_L 1.1.22.00 x64 Unicode 3 | ; Win Version ...: Windows 7 Professional x64 SP1 4 | ; Description ...: Windows Data Types for AHK 5 | ; (https://msdn.microsoft.com/en-us/library/aa383751.aspx) 6 | ; Version .......: v0.2 7 | ; Modified ......: 2015.05.04-1927 8 | ; Author ........: jNizM (+ just me for the translation) 9 | ; Licence .......: Unlicense (http://unlicense.org/) 10 | ; =============================================================================================================================== 11 | ;@Ahk2Exe-SetName Windows_Data_Types_for_AHK 12 | ;@Ahk2Exe-SetDescription Windows Data Types for AHK 13 | ;@Ahk2Exe-SetVersion v0.2 14 | ;@Ahk2Exe-SetCopyright Copyright (c) 2015-2015`, jNizM 15 | ;@Ahk2Exe-SetOrigFilename Windows_Data_Types_for_AHK.ahk 16 | ; =============================================================================================================================== 17 | 18 | ; GLOBAL SETTINGS =============================================================================================================== 19 | 20 | #Warn 21 | #NoEnv 22 | #SingleInstance Force 23 | 24 | ; MSDN_TYPES ==================================================================================================================== 25 | 26 | MSDN_TYPES= 27 | ( 28 | ATOM,UShort,,typedef WORD ATOM 29 | BOOL,Int,,typedef int BOOL 30 | BOOLEAN,UChar,,typedef BYTE BOOLEAN 31 | BYTE,UChar,,typedef unsigned char BYTE 32 | CCHAR,Char,,typedef char CCHAR 33 | CHAR,Char,,typedef char CHAR 34 | COLORREF,UInt,,typedef DWORD COLORREF 35 | DWORD,UInt,,typedef unsigned long DWORD 36 | DWORDLONG,Int64,,typedef unsigned __int64 DWORDLONG 37 | DWORD_PTR,UPtr,,typedef ULONG_PTR DWORD_PTR 38 | DWORD32,UInt,,typedef unsigned int DWORD32 39 | DWORD64,Int64,,typedef unsigned __int64 DWORD64 40 | FLOAT,Float,,typedef float FLOAT 41 | HACCEL,Ptr,,typedef HANDLE HACCEL 42 | HALF_PTR,Short (32) | Int (64),,typedef short HALF_PTR | typedef int HALF_PTR 43 | HANDLE,Ptr,,typedef PVOID HANDLE 44 | HBITMAP,Ptr,,typedef HANDLE HBITMAP 45 | HBRUSH,Ptr,,typedef HANDLE HBRUSH 46 | HCOLORSPACE,Ptr,,typedef HANDLE HCOLORSPACE 47 | HCONV,Ptr,,typedef HANDLE HCONV 48 | HCONVLIST,Ptr,,typedef HANDLE HCONVLIST 49 | HCURSOR,Ptr,,typedef HICON HCURSOR 50 | HDC,Ptr,,typedef HANDLE HDC 51 | HDDEDATA,Ptr,,typedef HANDLE HDDEDATA 52 | HDESK,Ptr,,typedef HANDLE HDESK 53 | HDROP,Ptr,,typedef HANDLE HDROP 54 | HDWP,Ptr,,typedef HANDLE HDWP 55 | HENHMETAFILE,Ptr,,typedef HANDLE HENHMETAFILE 56 | HFILE,Int,,typedef int HFILE 57 | HFONT,Ptr,,typedef HANDLE HFONT 58 | HGDIOBJ,Ptr,,typedef HANDLE HGDIOBJ 59 | HGLOBAL,Ptr,,typedef HANDLE HGLOBAL 60 | HHOOK,Ptr,,typedef HANDLE HHOOK 61 | HICON,Ptr,,typedef HANDLE HICON 62 | HINSTANCE,Ptr,,typedef HANDLE HINSTANCE 63 | HKEY,Ptr,,typedef HANDLE HKEY 64 | HKL,Ptr,,typedef HANDLE HKL 65 | HLOCAL,Ptr,,typedef HANDLE HLOCAL 66 | HMENU,Ptr,,typedef HANDLE HMENU 67 | HMETAFILE,Ptr,,typedef HANDLE HMETAFILE 68 | HMODULE,Ptr,,typedef HINSTANCE HMODULE 69 | HMONITOR,Ptr,,typedef HANDLE HMONITOR 70 | HPALETTE,Ptr,,typedef HANDLE HPALETTE 71 | HPEN,Ptr,,typedef HANDLE HPEN 72 | HRESULT,Int,,typedef LONG HRESULT 73 | HRGN,Ptr,,typedef HANDLE HRGN 74 | HRSRC,Ptr,,typedef HANDLE HRSRC 75 | HSZ,Ptr,,typedef HANDLE HSZ 76 | HWINSTA,Ptr,,typedef HANDLE WINSTA 77 | HWND,Ptr,,typedef HANDLE HWND 78 | INT,Int,,typedef int INT 79 | INT_PTR,Ptr,,typedef int INT_PTR / __int64 INT_PTR 80 | INT8,Char,,typedef signed char INT8 81 | INT16,Short,,typedef signed short INT16 82 | INT32,Int,,typedef signed int INT32 83 | INT64,Int64,,typedef signed __int64 INT64 84 | LANGID,UShort,,typedef WORD LANGID 85 | LCID,UInt,,typedef DWORD LCID 86 | LCTYPE,UInt,,typedef DWORD LCTYPE 87 | LGRPID,UInt,,typedef DWORD LGRPID 88 | LONG,Int,,typedef long LONG 89 | LONGLONG,Int64,,typedef __int64 LONGLONG 90 | LONG_PTR,Ptr,,typedef long LONG_PTR / __int64 LONG_PTR 91 | LONG32,Int,,typedef signed int LONG32 92 | LONG64,Int64,,typedef __int64 LONG64 93 | LPARAM,Ptr,,typedef LONG_PTR LPARAM 94 | LPBOOL,Ptr,IntP,typedef BOOL far *LPBOOL 95 | LPBYTE,Ptr,UCharP,typedef BYTE far *LPBYTE 96 | LPCOLORREF,Ptr,UIntP,typedef DWORD *LPCOLORREF 97 | LPCSTR,Ptr,Str / AStr,typedef __nullterminated CONST CHAR *LPCST 98 | LPCTSTR,Ptr,Str,typedef LPCSTR LPCTSTR / LPCWSTR LPCTSTR 99 | LPCVOID,Ptr,PtrP,typedef CONST void *LPCVOID 100 | LPCWSTR,Ptr,Str / WStr,typedef CONST WCHAR *LPCWSTR 101 | LPDWORD,Ptr,UIntP,typedef DWORD *LPDWORD 102 | LPHANDLE,Ptr,PtrP,typedef HANDLE *LPHANDLE 103 | LPINT,Ptr,IntP,typedef int *LPINT 104 | LPLONG,Ptr,IntP,typedef long *LPLONG 105 | LPSTR,Ptr,Str / AStr,typedef CHAR *LPSTR 106 | LPTSTR,Ptr,Str,typedef LPSTR LPTSTR / LPWSTR LPTSTR 107 | LPVOID,Ptr,PtrP,typedef void *LPVOID 108 | LPWORD,Ptr,UShortP,typedef WORD *LPWORD 109 | LPWSTR,Ptr,Str / WStr,typedef WCHAR *LPWSTR 110 | LRESULT,Ptr,,typedef LONG_PTR LRESULT 111 | PBOOL,Ptr,IntP,typedef BOOL *PBOOL 112 | PBOOLEAN,Ptr,CharP,typedef BOOLEAN *PBOOLEAN 113 | PBYTE,Ptr,UCharP,typedef BYTE *PBYTE 114 | PCHAR,Ptr,CharP,typedef CHAR *PCHAR 115 | PCSTR,Ptr,Str / AStr,typedef CONST CHAR *PCSTR 116 | PCTSTR,Ptr,Str,typedef LPCSTR PCTSTR / LPCWSTR PCTSTR 117 | PCWSTR,Ptr,Str / WStr,typedef CONST WCHAR *PCWSTR 118 | PDWORD,Ptr,UIntP,typedef DWORD *PDWORD 119 | PDWORDLONG,Ptr,Int64P,typedef DWORDLONG *PDWORDLONG 120 | PDWORD_PTR,Ptr,UPtrP,typedef DWORD_PTR *PDWORD_PTR 121 | PDWORD32,Ptr,UIntP,typedef DWORD32 *PDWORD3 122 | PDWORD64,Ptr,Int64P,typedef DWORD64 *PDWORD64 123 | PFLOAT,Ptr,FloatP,typedef FLOAT *PFLOAT 124 | PHALF_PTR,Short (32) | Int (64),ShortP | IntP,typedef HALF_PTR *PHALF_PTR | typedef HALF_PTR *PHALF_PTR 125 | PHANDLE,Ptr,PtrP,typedef HANDLE *PHANDLE 126 | PHKEY,Ptr,PtrP,typedef HKEY *PHKEY 127 | PINT,Ptr,IntP,typedef int *PINT 128 | PINT_PTR,Ptr,PtrP,typedef INT_PTR *PINT_PTR 129 | PINT8,Ptr,CharP,typedef INT8 *PINT8 130 | PINT16,Ptr,ShortP,typedef INT16 *PINT16 131 | PINT32,Ptr,IntP,typedef INT32 *PINT32 132 | PINT64,Ptr,Int64P,typedef INT64 *PINT64 133 | PLCID,Ptr,UIntP,typedef PDWORD PLCID 134 | PLONG,Ptr,IntP,typedef LONG *PLONG 135 | PLONGLONG,Ptr,Int64P,typedef LONGLONG *PLONGLONG 136 | PLONG_PTR,Ptr,PtrP,typedef LONG_PTR *PLONG_PTR 137 | PLONG32,Ptr,IntP,typedef LONG32 *PLONG32 138 | PLONG64,Ptr,Int64P,typedef LONG64 *PLONG64 139 | POINTER_32,Int,,#define POINTER_32 __ptr32 140 | POINTER_64,Int64,,#define POINTER_64 __ptr64 141 | POINTER_SIGNED,Ptr,,#define POINTER_SIGNED __sptr 142 | POINTER_UNSIGNED,UPtr,,#define POINTER_UNSIGNED __uptr 143 | PSHORT,Ptr,ShortP,typedef SHORT *PSHORT 144 | PSIZE_T,Ptr,UPtrP,typedef SIZE_T *PSIZE_T 145 | PSSIZE_T,Ptr,PtrP,typedef SSIZE_T *PSSIZE_T 146 | PSTR,Ptr,Str / AStr,typedef CHAR *PSTR 147 | PTBYTE,Ptr,UCharP (A) | UShortP (U),typedef TBYTE *PTBYTE | typedef TBYTE *PTBYTE 148 | PTCHAR,Ptr,CharP (A) | ShortP (U),typedef TCHAR *PTCHAR | typedef TCHAR *PTCHAR 149 | PTSTR,Ptr,Str / AStr / WStr,typedef LPSTR PTSTR / LPWSTR PTSTR 150 | PUCHAR,Ptr,UCharP,typedef UCHAR *PUCHAR 151 | PUHALF_PTR,UShort (32) | UInt (64),UShortP | UIntP,typedef UHALF_PTR *PUHALF_PTR | typedef UHALF_PTR *PUHALF_PTR 152 | PUINT,Ptr,UIntP,typedef UINT *PUINT 153 | PUINT_PTR,UPtr,UPtrP,typedef UINT_PTR *PUINT_PTR 154 | PUINT8,Ptr,UCharP,typedef UINT8 *PUINT8 155 | PUINT16,Ptr,UShortP,typedef UINT16 *PUINT16 156 | PUINT32,Ptr,UIntP,typedef UINT32 *PUINT32 157 | PUINT64,Ptr,Int64P,typedef UINT64 *PUINT64 158 | PULONG,Ptr,UIntP,typedef ULONG *PULONG 159 | PULONGLONG,Ptr,Int64P,typedef ULONGLONG *PULONGLONG 160 | PULONG_PTR,UPtr,UPtrP,typedef ULONG_PTR *PULONG_PTR 161 | PULONG32,Ptr,UIntP,typedef ULONG32 *PULONG32 162 | PULONG64,Ptr,Int64P,typedef ULONG64 *PULONG64 163 | PUSHORT,Ptr,UShortP,typedef USHORT *PUSHORT 164 | PVOID,Ptr,PtrP,typedef void *PVOID 165 | PWCHAR,Ptr,UShortP,typedef WCHAR *PWCHAR 166 | PWORD,Ptr,UShortP,typedef WORD *PWORD 167 | PWSTR,Ptr,Str / WStr,typedef WCHAR *PWSTR 168 | QWORD,Int64,,typedef unsigned __int64 QWORD; 169 | SC_HANDLE,Ptr,,typedef HANDLE SC_HANDLE 170 | SC_LOCK,Ptr,PtrP,typedef LPVOID SC_LOCK 171 | SERVICE_STATUS_HANDLE,Ptr,,typedef HANDLE SERVICE_STATUS_HANDLE 172 | SHORT,Short,,typedef short SHORT 173 | SIZE_T,UPtr,,typedef ULONG_PTR SIZE_T 174 | SSIZE_T,Ptr,,typedef LONG_PTR SSIZE_T 175 | TBYTE,UChar (A) | UShort (U),,typedef unsigned char TBYTE | typedef WCHAR TBYTE 176 | TCHAR,Char (A) | UShort (U),,typedef char TCHAR | typedef WCHAR TCHAR 177 | UCHAR,UChar,,typedef unsigned char UCHAR 178 | UHALF_PTR,UShort (32) | UInt (64),,typedef unsigned short UHALF_PTR | typedef unsigned int UHALF_PTR 179 | UINT,UInt,,typedef unsigned int UINT 180 | UINT_PTR,UPtr,,typedef unsigned int UINT_PTR / unsigned __int64 UINT_PTR 181 | UINT8,UChar,,typedef unsigned char UINT8 182 | UINT16,UShort,,typedef unsigned short UINT16 183 | UINT32,UInt,,typedef unsigned int UINT32 184 | UINT64,Int64,,typedef usigned __int 64 UINT64 185 | ULONG,UInt,,typedef unsigned long ULONG 186 | ULONGLONG,Int64,,typedef unsigned __int64 ULONGLONG 187 | ULONG_PTR,UPtr,,typedef unsigned long ULONG_PTR / unsigned __int64 ULONG_PTR 188 | ULONG32,UInt,,typedef unsigned int ULONG32 189 | ULONG64,Int64,,typedef unsigned __int64 ULONG64 190 | USHORT,UShort,,typedef unsigned short USHORT 191 | USN,Int64,,typedef LONGLONG USN 192 | VOID,Ptr,,#define VOID void 193 | WCHAR,UShort,,typedef wchar_t WCHAR 194 | WORD,UShort,,typedef unsigned short WORD 195 | WPARAM,UPtr,,typedef UINT_PTR WPARAM 196 | ) 197 | 198 | ; GUI =========================================================================================================================== 199 | 200 | Gui +Resize -MaximizeBox 201 | Gui, Font,, Courier New 202 | Gui, Add, ListView, x5 y5 w500 h400 vLVData, % "Data Type|AHK Type|Alternative for DllCall()|MSDN Definition" 203 | LV_ModifyCol(1, 155), LV_ModifyCol(2, 175), LV_ModifyCol(3, 187), LV_ModifyCol(4, 432) 204 | Gui, Add, Edit, x5 y+1 w445 h23 hWndEditSearch gLVSearch vEditSearch 205 | DllCall("user32.dll\SendMessage", "Ptr", EditSearch, "UInt", 0x1501, "Ptr", 1, "Str", "Search Data Type", "Ptr") 206 | Gui, Add, Edit, x+5 yp w54 h23 0x800 vEditEntries 207 | Gui, Show, AutoSize, % "Windows Data Types for AHK" 208 | Gui, +LastFound 209 | WinSet, Redraw 210 | 211 | ListView: 212 | MSDN_TYPES_ARR := [] 213 | loop, parse, MSDN_TYPES, `n, `r 214 | { 215 | MSDN_TYPES_ARR := StrSplit(A_LoopField, ",") 216 | LV_Add("", MSDN_TYPES_ARR[1], MSDN_TYPES_ARR[2], MSDN_TYPES_ARR[3], MSDN_TYPES_ARR[4]), LV_ModifyCol(1, "Sort") 217 | } 218 | GuiControl,, EditEntries, % LV_GetCount() 219 | GuiControl, Focus, EditSearch 220 | return 221 | 222 | ; SCRIPT ======================================================================================================================== 223 | 224 | GuiSize: 225 | if (ErrorLevel) 226 | return 227 | GuiControl, Move, LVData, % "x5 y5 w" (A_GuiWidth - 10) " h" (A_GuiHeight - 40) 228 | GuiControl, Move, EditSearch, % "x5 y" (A_GuiHeight - 29) " w" (A_GuiWidth - 69) 229 | GuiControl, Move, EditEntries, % "x" (A_GuiWidth - 59) " y" (A_GuiHeight - 29) 230 | return 231 | 232 | LVSearch: 233 | Gui, Submit, NoHide 234 | LV_Delete(), MSDN_TYPES_ARR := [] 235 | loop, parse, MSDN_TYPES, `n, `r 236 | { 237 | MSDN_TYPES_ARR := StrSplit(A_LoopField, ",") 238 | if (InStr(MSDN_TYPES_ARR[1], EditSearch)) 239 | LV_Add("", MSDN_TYPES_ARR[1], MSDN_TYPES_ARR[2], MSDN_TYPES_ARR[3], MSDN_TYPES_ARR[4]), LV_ModifyCol(1, "Sort") 240 | } 241 | GuiControl,, EditEntries, % LV_GetCount() 242 | return 243 | 244 | ; EXIT ========================================================================================================================== 245 | 246 | GuiClose: 247 | GuiEscape: 248 | ExitApp -------------------------------------------------------------------------------- /src/v1.1_deprecated/Windows_Data_Types.txt: -------------------------------------------------------------------------------- 1 | ; ---------------------------------------------------------------------------------------------------------------------- 2 | ; Windows Data Types -> msdn.microsoft.com/en-us/library/aa383751(v=vs.85).aspx 3 | ; ---------------------------------------------------------------------------------------------------------------------- 4 | Name AHK Type Alternative MSDN Definition 5 | for DllCall() 6 | ; ---------------------------------------------------------------------------------------------------------------------- 7 | ATOM UShort typedef WORD ATOM 8 | ; ---------------------------------------------------------------------------------------------------------------------- 9 | BOOL Int typedef int BOOL 10 | BOOLEAN UChar typedef BYTE BOOLEAN 11 | BYTE UChar typedef unsigned char BYTE 12 | ; ---------------------------------------------------------------------------------------------------------------------- 13 | CCHAR Char typedef char CCHAR 14 | CHAR Char typedef char CHAR 15 | COLORREF UInt typedef DWORD COLORREF 16 | ; ---------------------------------------------------------------------------------------------------------------------- 17 | DWORD UInt typedef unsigned long DWORD 18 | DWORDLONG Int64 typedef unsigned __int64 DWORDLONG 19 | DWORD_PTR UPtr typedef ULONG_PTR DWORD_PTR 20 | DWORD32 UInt typedef unsigned int DWORD32 21 | DWORD64 Int64 typedef unsigned __int64 DWORD64 22 | ; ---------------------------------------------------------------------------------------------------------------------- 23 | FLOAT Float typedef float FLOAT 24 | ; ---------------------------------------------------------------------------------------------------------------------- 25 | HACCEL Ptr typedef HANDLE HACCEL 26 | HALF_PTR Short (32) typedef short HALF_PTR 27 | Int (64) typedef int HALF_PTR 28 | HANDLE Ptr typedef PVOID HANDLE 29 | HBITMAP Ptr typedef HANDLE HBITMAP 30 | HBRUSH Ptr typedef HANDLE HBRUSH 31 | HCOLORSPACE Ptr typedef HANDLE HCOLORSPACE 32 | HCONV Ptr typedef HANDLE HCONV 33 | HCONVLIST Ptr typedef HANDLE HCONVLIST 34 | HCURSOR Ptr typedef HICON HCURSOR 35 | HDC Ptr typedef HANDLE HDC 36 | HDDEDATA Ptr typedef HANDLE HDDEDATA 37 | HDESK Ptr typedef HANDLE HDESK 38 | HDROP Ptr typedef HANDLE HDROP 39 | HDWP Ptr typedef HANDLE HDWP 40 | HENHMETAFILE Ptr typedef HANDLE HENHMETAFILE 41 | HFILE Int typedef int HFILE 42 | HFONT Ptr typedef HANDLE HFONT 43 | HGDIOBJ Ptr typedef HANDLE HGDIOBJ 44 | HGLOBAL Ptr typedef HANDLE HGLOBAL 45 | HHOOK Ptr typedef HANDLE HHOOK 46 | HICON Ptr typedef HANDLE HICON 47 | HINSTANCE Ptr typedef HANDLE HINSTANCE 48 | HKEY Ptr typedef HANDLE HKEY 49 | HKL Ptr typedef HANDLE HKL 50 | HLOCAL Ptr typedef HANDLE HLOCAL 51 | HMENU Ptr typedef HANDLE HMENU 52 | HMETAFILE Ptr typedef HANDLE HMETAFILE 53 | HMODULE Ptr typedef HINSTANCE HMODULE 54 | HMONITOR Ptr typedef HANDLE HMONITOR 55 | HPALETTE Ptr typedef HANDLE HPALETTE 56 | HPEN Ptr typedef HANDLE HPEN 57 | HRESULT Int typedef LONG HRESULT 58 | HRGN Ptr typedef HANDLE HRGN 59 | HRSRC Ptr typedef HANDLE HRSRC 60 | HSZ Ptr typedef HANDLE HSZ 61 | HWINSTA Ptr typedef HANDLE WINSTA 62 | HWND Ptr typedef HANDLE HWND 63 | ; ---------------------------------------------------------------------------------------------------------------------- 64 | INT Int typedef int INT 65 | INT_PTR Ptr typedef int INT_PTR / __int64 INT_PTR 66 | INT8 Char typedef signed char INT8 67 | INT16 Short typedef signed short INT16 68 | INT32 Int typedef signed int INT32 69 | INT64 Int64 typedef signed __int64 INT64 70 | ; ---------------------------------------------------------------------------------------------------------------------- 71 | LANGID UShort typedef WORD LANGID 72 | LCID UInt typedef DWORD LCID 73 | LCTYPE UInt typedef DWORD LCTYPE 74 | LGRPID UInt typedef DWORD LGRPID 75 | LONG Int typedef long LONG 76 | LONGLONG Int64 typedef __int64 LONGLONG 77 | LONG_PTR Ptr typedef long LONG_PTR / __int64 LONG_PTR 78 | LONG32 Int typedef signed int LONG32 79 | LONG64 Int64 typedef __int64 LONG64 80 | LPARAM Ptr typedef LONG_PTR LPARAM 81 | ; ---------------------------------------------------------------------------------------------------------------------- 82 | LPBOOL Ptr IntP typedef BOOL far *LPBOOL 83 | LPBYTE Ptr UCharP typedef BYTE far *LPBYTE 84 | LPCOLORREF Ptr UIntP typedef DWORD *LPCOLORREF 85 | LPCSTR Ptr Str / AStr typedef __nullterminated CONST CHAR *LPCST 86 | LPCTSTR Ptr Str typedef LPCSTR LPCTSTR / LPCWSTR LPCTSTR 87 | LPCVOID Ptr PtrP typedef CONST void *LPCVOID 88 | LPCWSTR Ptr Str / WStr typedef CONST WCHAR *LPCWSTR 89 | LPDWORD Ptr UIntP typedef DWORD *LPDWORD 90 | LPHANDLE Ptr PtrP typedef HANDLE *LPHANDLE 91 | LPINT Ptr IntP typedef int *LPINT 92 | LPLONG Ptr IntP typedef long *LPLONG 93 | LPSTR Ptr Str / AStr typedef CHAR *LPSTR 94 | LPTSTR Ptr Str typedef LPSTR LPTSTR / LPWSTR LPTSTR 95 | LPVOID Ptr PtrP typedef void *LPVOID 96 | LPWORD Ptr UShortP typedef WORD *LPWORD 97 | LPWSTR Ptr Str / WStr typedef WCHAR *LPWSTR 98 | ; ---------------------------------------------------------------------------------------------------------------------- 99 | LRESULT Ptr typedef LONG_PTR LRESULT 100 | ; ---------------------------------------------------------------------------------------------------------------------- 101 | PBOOL Ptr IntP typedef BOOL *PBOOL 102 | PBOOLEAN Ptr CharP typedef BOOLEAN *PBOOLEAN 103 | PBYTE Ptr UCharP typedef BYTE *PBYTE 104 | PCHAR Ptr CharP typedef CHAR *PCHAR 105 | PCSTR Ptr Str / AStr typedef CONST CHAR *PCSTR 106 | PCTSTR Ptr Str typedef LPCSTR PCTSTR / LPCWSTR PCTSTR 107 | PCWSTR Ptr Str / WStr typedef CONST WCHAR *PCWSTR 108 | PDWORD Ptr UIntP typedef DWORD *PDWORD 109 | PDWORDLONG Ptr Int64P typedef DWORDLONG *PDWORDLONG 110 | PDWORD_PTR Ptr UPtrP typedef DWORD_PTR *PDWORD_PTR 111 | PDWORD32 Ptr UIntP typedef DWORD32 *PDWORD3 112 | PDWORD64 Ptr Int64P typedef DWORD64 *PDWORD64 113 | PFLOAT Ptr FloatP typedef FLOAT *PFLOAT 114 | PHALF_PTR Short (32) ShortP typedef HALF_PTR *PHALF_PTR 115 | Int (64) IntP typedef HALF_PTR *PHALF_PTR 116 | PHANDLE Ptr PtrP typedef HANDLE *PHANDLE 117 | PHKEY Ptr PtrP typedef HKEY *PHKEY 118 | PINT Ptr IntP typedef int *PINT 119 | PINT_PTR Ptr PtrP typedef INT_PTR *PINT_PTR 120 | PINT8 Ptr CharP typedef INT8 *PINT8 121 | PINT16 Ptr ShortP typedef INT16 *PINT16 122 | PINT32 Ptr IntP typedef INT32 *PINT32 123 | PINT64 Ptr Int64P typedef INT64 *PINT64 124 | PLCID Ptr UIntP typedef PDWORD PLCID 125 | PLONG Ptr IntP typedef LONG *PLONG 126 | PLONGLONG Ptr Int64P typedef LONGLONG *PLONGLONG 127 | PLONG_PTR Ptr PtrP typedef LONG_PTR *PLONG_PTR 128 | PLONG32 Ptr IntP typedef LONG32 *PLONG32 129 | PLONG64 Ptr Int64P typedef LONG64 *PLONG64 130 | ; ---------------------------------------------------------------------------------------------------------------------- 131 | POINTER_32 Int #define POINTER_32 __ptr32 132 | POINTER_64 Int64 #define POINTER_64 __ptr64 133 | POINTER_SIGNED Ptr #define POINTER_SIGNED __sptr 134 | POINTER_UNSIGNED UPtr #define POINTER_UNSIGNED __uptr 135 | ; ---------------------------------------------------------------------------------------------------------------------- 136 | PSHORT Ptr ShortP typedef SHORT *PSHORT 137 | PSIZE_T Ptr UPtrP typedef SIZE_T *PSIZE_T 138 | PSSIZE_T Ptr PtrP typedef SSIZE_T *PSSIZE_T 139 | PSTR Ptr Str / AStr typedef CHAR *PSTR 140 | PTBYTE Ptr UCharP (A) typedef TBYTE *PTBYTE 141 | UShortP (U) typedef TBYTE *PTBYTE 142 | PTCHAR Ptr CharP (A) typedef TCHAR *PTCHAR 143 | ShortP (U) typedef TCHAR *PTCHAR 144 | PTSTR Ptr Str/AStr/WStr typedef LPSTR PTSTR / LPWSTR PTSTR 145 | PUCHAR Ptr UCharP typedef UCHAR *PUCHAR 146 | PUHALF_PTR UShort (32) UShortP typedef UHALF_PTR *PUHALF_PTR 147 | UInt (64) UIntP typedef UHALF_PTR *PUHALF_PTR 148 | PUINT Ptr UIntP typedef UINT *PUINT 149 | PUINT_PTR UPtr UPtrP typedef UINT_PTR *PUINT_PTR 150 | PUINT8 Ptr UCharP typedef UINT8 *PUINT8 151 | PUINT16 Ptr UShortP typedef UINT16 *PUINT16 152 | PUINT32 Ptr UIntP typedef UINT32 *PUINT32 153 | PUINT64 Ptr Int64P typedef UINT64 *PUINT64 154 | PULONG Ptr UIntP typedef ULONG *PULONG 155 | PULONGLONG Ptr Int64P typedef ULONGLONG *PULONGLONG 156 | PULONG_PTR UPtr UPtrP typedef ULONG_PTR *PULONG_PTR 157 | PULONG32 Ptr UIntP typedef ULONG32 *PULONG32 158 | PULONG64 Ptr Int64P typedef ULONG64 *PULONG64 159 | PUSHORT Ptr UShortP typedef USHORT *PUSHORT 160 | PVOID Ptr PtrP typedef void *PVOID 161 | PWCHAR Ptr UShortP typedef WCHAR *PWCHAR 162 | PWORD Ptr UShortP typedef WORD *PWORD 163 | PWSTR Ptr Str / WStr typedef WCHAR *PWSTR 164 | ; ---------------------------------------------------------------------------------------------------------------------- 165 | QWORD Int64 typedef unsigned __int64 QWORD; 166 | ; ---------------------------------------------------------------------------------------------------------------------- 167 | SC_HANDLE Ptr typedef HANDLE SC_HANDLE 168 | SC_LOCK Ptr PtrP typedef LPVOID SC_LOCK 169 | SERVICE_STATUS_HANDLE Ptr typedef HANDLE SERVICE_STATUS_HANDLE 170 | SHORT Short typedef short SHORT 171 | SIZE_T UPtr typedef ULONG_PTR SIZE_T 172 | SSIZE_T Ptr typedef LONG_PTR SSIZE_T 173 | ; ---------------------------------------------------------------------------------------------------------------------- 174 | TBYTE UChar (A) typedef unsigned char TBYTE 175 | UShort (U) typedef WCHAR TBYTE 176 | TCHAR Char (A) typedef char TCHAR 177 | UShort (U) typedef WCHAR TCHAR 178 | 179 | ; ---------------------------------------------------------------------------------------------------------------------- 180 | UCHAR UChar typedef unsigned char UCHAR 181 | UHALF_PTR UShort (32) typedef unsigned short UHALF_PTR 182 | UInt (64) typedef unsigned int UHALF_PTR 183 | UINT UInt typedef unsigned int UINT 184 | UINT_PTR UPtr typedef unsigned int UINT_PTR / unsigned __int64 UINT_PTR 185 | UINT8 UChar typedef unsigned char UINT8 186 | UINT16 UShort typedef unsigned short UINT16 187 | UINT32 UInt typedef unsigned int UINT32 188 | UINT64 Int64 typedef usigned __int 64 UINT64 189 | ULONG UInt typedef unsigned long ULONG 190 | ULONGLONG Int64 typedef unsigned __int64 ULONGLONG 191 | ULONG_PTR UPtr typedef unsigned long ULONG_PTR / unsigned __int64 ULONG_PTR 192 | ULONG32 UInt typedef unsigned int ULONG32 193 | ULONG64 Int64 typedef unsigned __int64 ULONG64 194 | USHORT UShort typedef unsigned short USHORT 195 | USN Int64 typedef LONGLONG USN 196 | ; ---------------------------------------------------------------------------------------------------------------------- 197 | VOID Ptr #define VOID void 198 | ; ---------------------------------------------------------------------------------------------------------------------- 199 | WCHAR UShort typedef wchar_t WCHAR 200 | WORD UShort typedef unsigned short WORD 201 | WPARAM UPtr typedef UINT_PTR WPARAM 202 | ; ---------------------------------------------------------------------------------------------------------------------- 203 | (32) : 32-bit 204 | (64) : 64-bit 205 | (A) : ANSI 206 | (U) : Unicode -------------------------------------------------------------------------------- /src/WinAPI_DataTypes.ahk: -------------------------------------------------------------------------------- 1 | ; =========================================================================================================================================================================== 2 | 3 | /* 4 | WinAPI_DataTypes (written in AutoHotkey) 5 | Author ....: jNizM 6 | Released ..: 2015-05-05 7 | Modified ..: 2021-03-21 8 | License ...: MIT 9 | GitHub ....: https://github.com/jNizM/AutoHotkey_MSDN_Types 10 | Forum .....: https://www.autohotkey.com/boards/viewtopic.php?t=99817 11 | */ 12 | 13 | 14 | ; COMPILER DIRECTIVES ======================================================================================================================================================= 15 | 16 | ;@Ahk2Exe-SetDescription WinAPI_DataTypes (x64) 17 | ;@Ahk2Exe-SetFileVersion 0.4.1 18 | ;@Ahk2Exe-SetProductName WinAPI_DataTypes 19 | ;@Ahk2Exe-SetProductVersion 2.0-beta.3 20 | ;@Ahk2Exe-SetCopyright (c) 2015-2022 jNizM 21 | ;@Ahk2Exe-SetLanguage 0x0407 22 | 23 | 24 | ; SCRIPT DIRECTIVES ========================================================================================================================================================= 25 | 26 | #Requires AutoHotkey v2.0- 27 | 28 | 29 | 30 | ; RUN ======================================================================================================================================================================= 31 | 32 | WinAPI_DataTypes() 33 | ;WinAPI_DataTypes("Dark") ;<- Dark Theme 34 | 35 | 36 | 37 | ; WinAPI_DataTypes ========================================================================================================================================================== 38 | 39 | WinAPI_DataTypes(GuiTheme := "Light") 40 | { 41 | static DATA_TYPES := CONST_DATA_TYPES() 42 | 43 | App := Map("name", "WinAPI_DataTypes", "version", "0.4.1", "release", "2022-02-04", "author", "jNizM", "licence", "MIT") 44 | 45 | 46 | ; TRAY ============================================================================================================================================================== 47 | 48 | if (VerCompare(A_OSVersion, "10.0.22000") >= 0) 49 | TraySetIcon("shell32.dll", 56) 50 | 51 | 52 | ; GUI =============================================================================================================================================================== 53 | 54 | Main := Gui("+Resize +MinSize854x480", App["name"]) 55 | Main.BackColor := (GuiTheme = "Dark") ? "3E3E3E" : "" 56 | Main.MarginX := 0 57 | Main.MarginY := 0 58 | 59 | Main.SetFont("s9", "Segoe UI") 60 | LV_Header := ["Data Type", "AHK Type", "Alternative for DllCall()", "x86 Size", "x64 Size", "MSDN Definition"] 61 | LV := Main.AddListView("xm+10 ym+10 w830 r10" ((GuiTheme = "Dark") ? " cD9D9D9 Background5B5B5B" : ""), LV_Header) 62 | for k, v in DATA_TYPES 63 | LV.Add("", DATA_TYPES[k]*) 64 | loop LV.GetCount("Col") 65 | LV.ModifyCol(A_Index, "AutoHdr") 66 | 67 | Main.SetFont("s10", "Segoe UI") 68 | ED := Main.AddEdit("xm+9 y+5 w200" ((GuiTheme = "Dark") ? " cD9D9D9 Background5B5B5B" : "")) 69 | ED.OnEvent("Change", LV_Search) 70 | EM_SETCUEBANNER(ED, "Search...", 1) 71 | 72 | Main.OnEvent("Size", GuiSize) 73 | Main.OnEvent("Close", (*) => ExitApp) 74 | Main.Show("AutoSize") 75 | HideFocusBorder(Main.Hwnd) 76 | 77 | 78 | if (VerCompare(A_OSVersion, "10.0.17763") >= 0) && (GuiTheme = "Dark") 79 | { 80 | DWMWA_USE_IMMERSIVE_DARK_MODE := 19 81 | if (VerCompare(A_OSVersion, "10.0.18985") >= 0) 82 | { 83 | DWMWA_USE_IMMERSIVE_DARK_MODE := 20 84 | } 85 | DllCall("dwmapi\DwmSetWindowAttribute", "Ptr", Main.hWnd, "Int", DWMWA_USE_IMMERSIVE_DARK_MODE, "int*", true, "Int", 4) 86 | SetExplorerTheme(LV.hWnd, "DarkMode_Explorer") 87 | } 88 | else 89 | SetExplorerTheme(LV.hWnd) 90 | 91 | 92 | ; WINDOW EVENTS ===================================================================================================================================================== 93 | 94 | GuiSize(thisGui, MinMax, Width, Height) 95 | { 96 | if (MinMax = -1) 97 | return 98 | LV.Move(,, Width - 21, Height - 50) 99 | LV.Redraw() 100 | ED.Move(, Height - 35, Width - 19) 101 | } 102 | 103 | 104 | LV_Search(CtrlObj, *) 105 | { 106 | LV.Opt("-Redraw") 107 | LV.Delete() 108 | for k, v in DATA_TYPES 109 | { 110 | IsFound := false 111 | for i, v in DATA_TYPES[k] 112 | { 113 | ;if !(CtrlObj.Value) || (InStr(v, CtrlObj.Value)) 114 | try 115 | if (RegExMatch(v, "i)" CtrlObj.Value)) 116 | IsFound := true 117 | } 118 | if !(IsFound) 119 | continue 120 | LV.Add("", DATA_TYPES[k]*) 121 | } 122 | LV.Opt("+Redraw") 123 | } 124 | 125 | 126 | ; Messages ========================================================================================================================================================== 127 | 128 | EM_SETCUEBANNER(handle, string, option := false) 129 | { 130 | static ECM_FIRST := 0x1500 131 | static EM_SETCUEBANNER := ECM_FIRST + 1 132 | 133 | SendMessage(EM_SETCUEBANNER, option, StrPtr(string), handle) 134 | } 135 | 136 | 137 | ; Functions ========================================================================================================================================================= 138 | 139 | HideFocusBorder(wParam, lParam := "", Msg := "", hWnd := "") 140 | { 141 | static Affected := Map() 142 | static WM_UPDATEUISTATE := 0x0128 143 | static UIS_SET := 1 144 | static UISF_HIDEFOCUS := 0x1 145 | static SET_HIDEFOCUS := UIS_SET << 16 | UISF_HIDEFOCUS 146 | static init := OnMessage(WM_UPDATEUISTATE, HideFocusBorder) 147 | 148 | if (Msg = WM_UPDATEUISTATE) 149 | { 150 | if (wParam = SET_HIDEFOCUS) 151 | Affected[hWnd] := true 152 | else if (Affected.Has(hWnd)) 153 | PostMessage(WM_UPDATEUISTATE, SET_HIDEFOCUS, 0,, "ahk_id " hWnd) 154 | } 155 | else if (DllCall("user32\IsWindow", "Ptr", wParam, "UInt")) 156 | PostMessage(WM_UPDATEUISTATE, SET_HIDEFOCUS, 0,, "ahk_id " wParam) 157 | } 158 | 159 | 160 | SetExplorerTheme(handle, WindowTheme := "Explorer") 161 | { 162 | if (DllCall("GetVersion", "UChar") > 5) 163 | { 164 | VarSetStrCapacity(&ClassName, 1024) 165 | if (DllCall("user32\GetClassName", "Ptr", handle, "Str", ClassName, "Int", 512, "Int")) 166 | { 167 | if (ClassName = "SysListView32") || (ClassName = "SysTreeView32") 168 | return !DllCall("uxtheme\SetWindowTheme", "Ptr", handle, "Str", WindowTheme, "Ptr", 0) 169 | } 170 | } 171 | return false 172 | } 173 | 174 | 175 | ; Constants ========================================================================================================================================================= 176 | 177 | CONST_DATA_TYPES() 178 | { 179 | DATA_TYPES := Map() 180 | DATA_TYPES["ATOM"] := ["ATOM", "UShort", "", 2, 2, "typedef WORD ATOM"] 181 | DATA_TYPES["BOOL"] := ["BOOL","Int","",4,4,"typedef int BOOL"] 182 | DATA_TYPES["BOOLEAN"] := ["BOOLEAN","UChar","",1,1,"typedef BYTE BOOLEAN"] 183 | DATA_TYPES["BYTE"] := ["BYTE","UChar","",1,1,"typedef unsigned char BYTE"] 184 | DATA_TYPES["CCHAR"] := ["CCHAR","Char","",1,1,"typedef char CCHAR"] 185 | DATA_TYPES["CHAR"] := ["CHAR","Char","",1,1,"typedef char CHAR"] 186 | DATA_TYPES["COLORREF"] := ["COLORREF","UInt","",4,4,"typedef DWORD COLORREF"] 187 | DATA_TYPES["DWORD"] := ["DWORD","UInt","",4,4,"typedef unsigned long DWORD"] 188 | DATA_TYPES["DWORDLONG"] := ["DWORDLONG","Int64","",8,8,"typedef unsigned __int64 DWORDLONG"] 189 | DATA_TYPES["DWORD_PTR"] := ["DWORD_PTR","UPtr","",4,8,"typedef ULONG_PTR DWORD_PTR"] 190 | DATA_TYPES["DWORD32"] := ["DWORD32","UInt","",4,4,"typedef unsigned int DWORD32"] 191 | DATA_TYPES["DWORD64"] := ["DWORD64","Int64","",8,8,"typedef unsigned __int64 DWORD64"] 192 | DATA_TYPES["FLOAT"] := ["FLOAT","Float","",4,4,"typedef float FLOAT"] 193 | DATA_TYPES["HACCEL"] := ["HACCEL","Ptr","",4,8,"typedef HANDLE HACCEL"] 194 | DATA_TYPES["HALF_PTR"] := ["HALF_PTR","Short (32) | Int (64)","",2,4,"typedef short HALF_PTR | typedef int HALF_PTR"] 195 | DATA_TYPES["HANDLE"] := ["HANDLE","Ptr","",4,8,"typedef PVOID HANDLE"] 196 | DATA_TYPES["HBITMAP"] := ["HBITMAP","Ptr","",4,8,"typedef HANDLE HBITMAP"] 197 | DATA_TYPES["HBRUSH"] := ["HBRUSH","Ptr","",4,8,"typedef HANDLE HBRUSH"] 198 | DATA_TYPES["HCOLORSPACE"] := ["HCOLORSPACE","Ptr","",4,8,"typedef HANDLE HCOLORSPACE"] 199 | DATA_TYPES["HCONV"] := ["HCONV","Ptr","",4,8,"typedef HANDLE HCONV"] 200 | DATA_TYPES["HCONVLIST"] := ["HCONVLIST","Ptr","",4,8,"typedef HANDLE HCONVLIST"] 201 | DATA_TYPES["HCURSOR"] := ["HCURSOR","Ptr","",4,8,"typedef HICON HCURSOR"] 202 | DATA_TYPES["HDC"] := ["HDC","Ptr","",4,8,"typedef HANDLE HDC"] 203 | DATA_TYPES["HDDEDATA"] := ["HDDEDATA","Ptr","",4,8,"typedef HANDLE HDDEDATA"] 204 | DATA_TYPES["HDESK"] := ["HDESK","Ptr","",4,8,"typedef HANDLE HDESK"] 205 | DATA_TYPES["HDROP"] := ["HDROP","Ptr","",4,8,"typedef HANDLE HDROP"] 206 | DATA_TYPES["HDWP"] := ["HDWP","Ptr","",4,8,"typedef HANDLE HDWP"] 207 | DATA_TYPES["HENHMETAFILE"] := ["HENHMETAFILE","Ptr","",4,8,"typedef HANDLE HENHMETAFILE"] 208 | DATA_TYPES["HFILE"] := ["HFILE","Int","",4,8,"typedef int HFILE"] 209 | DATA_TYPES["HFONT"] := ["HFONT","Ptr","",4,8,"typedef HANDLE HFONT"] 210 | DATA_TYPES["HGDIOBJ"] := ["HGDIOBJ","Ptr","",4,8,"typedef HANDLE HGDIOBJ"] 211 | DATA_TYPES["HGLOBAL"] := ["HGLOBAL","Ptr","",4,8,"typedef HANDLE HGLOBAL"] 212 | DATA_TYPES["HHOOK"] := ["HHOOK","Ptr","",4,8,"typedef HANDLE HHOOK"] 213 | DATA_TYPES["HICON"] := ["HICON","Ptr","",4,8,"typedef HANDLE HICON"] 214 | DATA_TYPES["HINSTANCE"] := ["HINSTANCE","Ptr","",4,8,"typedef HANDLE HINSTANCE"] 215 | DATA_TYPES["HKEY"] := ["HKEY","Ptr","",4,8,"typedef HANDLE HKEY"] 216 | DATA_TYPES["HKL"] := ["HKL","Ptr","",4,8,"typedef HANDLE HKL"] 217 | DATA_TYPES["HLOCAL"] := ["HLOCAL","Ptr","",4,8,"typedef HANDLE HLOCAL"] 218 | DATA_TYPES["HMENU"] := ["HMENU","Ptr","",4,8,"typedef HANDLE HMENU"] 219 | DATA_TYPES["HMETAFILE"] := ["HMETAFILE","Ptr","",4,8,"typedef HANDLE HMETAFILE"] 220 | DATA_TYPES["HMODULE"] := ["HMODULE","Ptr","",4,8,"typedef HINSTANCE HMODULE"] 221 | DATA_TYPES["HMONITOR"] := ["HMONITOR","Ptr","",4,8,"typedef HANDLE HMONITOR"] 222 | DATA_TYPES["HPALETTE"] := ["HPALETTE","Ptr","",4,8,"typedef HANDLE HPALETTE"] 223 | DATA_TYPES["HPEN"] := ["HPEN","Ptr","",4,8,"typedef HANDLE HPEN"] 224 | DATA_TYPES["HRESULT"] := ["HRESULT","Int","",4,4,"typedef LONG HRESULT"] 225 | DATA_TYPES["HRGN"] := ["HRGN","Ptr","",4,8,"typedef HANDLE HRGN"] 226 | DATA_TYPES["HRSRC"] := ["HRSRC","Ptr","",4,8,"typedef HANDLE HRSRC"] 227 | DATA_TYPES["HSZ"] := ["HSZ","Ptr","",4,8,"typedef HANDLE HSZ"] 228 | DATA_TYPES["HWINSTA"] := ["HWINSTA","Ptr","",4,8,"typedef HANDLE WINSTA"] 229 | DATA_TYPES["HWND"] := ["HWND","Ptr","",4,8,"typedef HANDLE HWND"] 230 | DATA_TYPES["INT"] := ["INT","Int","",4,4,"typedef int INT"] 231 | DATA_TYPES["INT_PTR"] := ["INT_PTR","Ptr","",4,8,"typedef int INT_PTR / __int64 INT_PTR"] 232 | DATA_TYPES["INT8"] := ["INT8","Char","",1,1,"typedef signed char INT8"] 233 | DATA_TYPES["INT16"] := ["INT16","Short","",2,2,"typedef signed short INT16"] 234 | DATA_TYPES["INT32"] := ["INT32","Int","",4,4,"typedef signed int INT32"] 235 | DATA_TYPES["INT64"] := ["INT64","Int64","",8,8,"typedef signed __int64 INT64"] 236 | DATA_TYPES["LANGID"] := ["LANGID","UShort","",2,2,"typedef WORD LANGID"] 237 | DATA_TYPES["LCID"] := ["LCID","UInt","",4,4,"typedef DWORD LCID"] 238 | DATA_TYPES["LCTYPE"] := ["LCTYPE","UInt","",4,4,"typedef DWORD LCTYPE"] 239 | DATA_TYPES["LGRPID"] := ["LGRPID","UInt","",4,4,"typedef DWORD LGRPID"] 240 | DATA_TYPES["LONG"] := ["LONG","Int","",4,4,"typedef long LONG"] 241 | DATA_TYPES["LONGLONG"] := ["LONGLONG","Int64","",8,8,"typedef __int64 LONGLONG"] 242 | DATA_TYPES["LONG_PTR"] := ["LONG_PTR","Ptr","",4,8,"typedef long LONG_PTR / __int64 LONG_PTR"] 243 | DATA_TYPES["LONG32"] := ["LONG32","Int","",4,4,"typedef signed int LONG32"] 244 | DATA_TYPES["LONG64"] := ["LONG64","Int64","",8,8,"typedef __int64 LONG64"] 245 | DATA_TYPES["LPARAM"] := ["LPARAM","Ptr","",4,8,"typedef LONG_PTR LPARAM"] 246 | DATA_TYPES["LPBOOL"] := ["LPBOOL","Ptr","IntP",4,8,"typedef BOOL far *LPBOOL"] 247 | DATA_TYPES["LPBYTE"] := ["LPBYTE","Ptr","UCharP",4,8,"typedef BYTE far *LPBYTE"] 248 | DATA_TYPES["LPCOLORREF"] := ["LPCOLORREF","Ptr","UIntP",4,8,"typedef DWORD *LPCOLORREF"] 249 | DATA_TYPES["LPCSTR"] := ["LPCSTR","Ptr","Str / AStr",4,8,"typedef __nullterminated CONST CHAR *LPCST"] 250 | DATA_TYPES["LPCTSTR"] := ["LPCTSTR","Ptr","Str",4,8,"typedef LPCSTR LPCTSTR / LPCWSTR LPCTSTR"] 251 | DATA_TYPES["LPCVOID"] := ["LPCVOID","Ptr","PtrP",4,8,"typedef CONST void *LPCVOID"] 252 | DATA_TYPES["LPCWSTR"] := ["LPCWSTR","Ptr","Str / WStr",4,8,"typedef CONST WCHAR *LPCWSTR"] 253 | DATA_TYPES["LPDWORD"] := ["LPDWORD","Ptr","UIntP",4,8,"typedef DWORD *LPDWORD"] 254 | DATA_TYPES["LPHANDLE"] := ["LPHANDLE","Ptr","PtrP",4,8,"typedef HANDLE *LPHANDLE"] 255 | DATA_TYPES["LPINT"] := ["LPINT","Ptr","IntP",4,8,"typedef int *LPINT"] 256 | DATA_TYPES["LPLONG"] := ["LPLONG","Ptr","IntP",4,8,"typedef long *LPLONG"] 257 | DATA_TYPES["LPSTR"] := ["LPSTR","Ptr","Str / AStr",4,8,"typedef CHAR *LPSTR"] 258 | DATA_TYPES["LPTSTR"] := ["LPTSTR","Ptr","Str",4,8,"typedef LPSTR LPTSTR / LPWSTR LPTSTR"] 259 | DATA_TYPES["LPVOID"] := ["LPVOID","Ptr","PtrP",4,8,"typedef void *LPVOID"] 260 | DATA_TYPES["LPWORD"] := ["LPWORD","Ptr","UShortP",4,8,"typedef WORD *LPWORD"] 261 | DATA_TYPES["LPWSTR"] := ["LPWSTR","Ptr","Str / WStr",4,8,"typedef WCHAR *LPWSTR"] 262 | DATA_TYPES["LRESULT"] := ["LRESULT","Ptr","",4,8,"typedef LONG_PTR LRESULT"] 263 | DATA_TYPES["PBOOL"] := ["PBOOL","Ptr","IntP",4,8,"typedef BOOL *PBOOL"] 264 | DATA_TYPES["PBOOLEAN"] := ["PBOOLEAN","Ptr","CharP",4,8,"typedef BOOLEAN *PBOOLEAN"] 265 | DATA_TYPES["PBYTE"] := ["PBYTE","Ptr","UCharP",4,8,"typedef BYTE *PBYTE"] 266 | DATA_TYPES["PCHAR"] := ["PCHAR","Ptr","CharP",4,8,"typedef CHAR *PCHAR"] 267 | DATA_TYPES["PCSTR"] := ["PCSTR","Ptr","Str / AStr",4,8,"typedef CONST CHAR *PCSTR"] 268 | DATA_TYPES["PCTSTR"] := ["PCTSTR","Ptr","Str",4,8,"typedef LPCSTR PCTSTR / LPCWSTR PCTSTR"] 269 | DATA_TYPES["PCWSTR"] := ["PCWSTR","Ptr","Str / WStr",4,8,"typedef CONST WCHAR *PCWSTR"] 270 | DATA_TYPES["PDWORD"] := ["PDWORD","Ptr","UIntP",4,8,"typedef DWORD *PDWORD"] 271 | DATA_TYPES["PDWORDLONG"] := ["PDWORDLONG","Ptr","Int64P",4,8,"typedef DWORDLONG *PDWORDLONG"] 272 | DATA_TYPES["PDWORD_PTR"] := ["PDWORD_PTR","Ptr","UPtrP",4,8,"typedef DWORD_PTR *PDWORD_PTR"] 273 | DATA_TYPES["PDWORD32"] := ["PDWORD32","Ptr","UIntP",4,8,"typedef DWORD32 *PDWORD3"] 274 | DATA_TYPES["PDWORD64"] := ["PDWORD64","Ptr","Int64P",4,8,"typedef DWORD64 *PDWORD64"] 275 | DATA_TYPES["PFLOAT"] := ["PFLOAT","Ptr","FloatP",4,8,"typedef FLOAT *PFLOAT"] 276 | DATA_TYPES["PHALF_PTR"] := ["PHALF_PTR","Short (32) | Int (64)","ShortP | IntP",4,8,"typedef HALF_PTR *PHALF_PTR | typedef HALF_PTR *PHALF_PTR"] 277 | DATA_TYPES["PHANDLE"] := ["PHANDLE","Ptr","PtrP",4,8,"typedef HANDLE *PHANDLE"] 278 | DATA_TYPES["PHKEY"] := ["PHKEY","Ptr","PtrP",4,8,"typedef HKEY *PHKEY"] 279 | DATA_TYPES["PINT"] := ["PINT","Ptr","IntP",4,8,"typedef int *PINT"] 280 | DATA_TYPES["PINT_PTR"] := ["PINT_PTR","Ptr","PtrP",4,8,"typedef INT_PTR *PINT_PTR"] 281 | DATA_TYPES["PINT8"] := ["PINT8","Ptr","CharP",4,8,"typedef INT8 *PINT8"] 282 | DATA_TYPES["PINT16"] := ["PINT16","Ptr","ShortP",4,8,"typedef INT16 *PINT16"] 283 | DATA_TYPES["PINT32"] := ["PINT32","Ptr","IntP",4,8,"typedef INT32 *PINT32"] 284 | DATA_TYPES["PINT64"] := ["PINT64","Ptr","Int64P",4,8,"typedef INT64 *PINT64"] 285 | DATA_TYPES["PLCID"] := ["PLCID","Ptr","UIntP",4,8,"typedef PDWORD PLCID"] 286 | DATA_TYPES["PLONG"] := ["PLONG","Ptr","IntP",4,8,"typedef LONG *PLONG"] 287 | DATA_TYPES["PLONGLONG"] := ["PLONGLONG","Ptr","Int64P",4,8,"typedef LONGLONG *PLONGLONG"] 288 | DATA_TYPES["PLONG_PTR"] := ["PLONG_PTR","Ptr","PtrP",4,8,"typedef LONG_PTR *PLONG_PTR"] 289 | DATA_TYPES["PLONG32"] := ["PLONG32","Ptr","IntP",4,8,"typedef LONG32 *PLONG32"] 290 | DATA_TYPES["PLONG64"] := ["PLONG64","Ptr","Int64P",4,8,"typedef LONG64 *PLONG64"] 291 | DATA_TYPES["POINTER_32"] := ["POINTER_32","Int","","","","#define POINTER_32 __ptr32"] 292 | DATA_TYPES["POINTER_64"] := ["POINTER_64","Int64","","","","#define POINTER_64 __ptr64"] 293 | DATA_TYPES["POINTER_SIGNED"] := ["POINTER_SIGNED","Ptr","","","","#define POINTER_SIGNED __sptr"] 294 | DATA_TYPES["POINTER_UNSIGNED"] := ["POINTER_UNSIGNED","UPtr","","","","#define POINTER_UNSIGNED __uptr"] 295 | DATA_TYPES["PSHORT"] := ["PSHORT","Ptr","ShortP",4,8,"typedef SHORT *PSHORT"] 296 | DATA_TYPES["PSIZE_T"] := ["PSIZE_T","Ptr","UPtrP",4,8,"typedef SIZE_T *PSIZE_T"] 297 | DATA_TYPES["PSSIZE_T"] := ["PSSIZE_T","Ptr","PtrP",4,8,"typedef SSIZE_T *PSSIZE_T"] 298 | DATA_TYPES["PSTR"] := ["PSTR","Ptr","Str / AStr",4,8,"typedef CHAR *PSTR"] 299 | DATA_TYPES["PTBYTE"] := ["PTBYTE","Ptr","UCharP (A) | UShortP (U)",4,8,"typedef TBYTE *PTBYTE | typedef TBYTE *PTBYTE"] 300 | DATA_TYPES["PTCHAR"] := ["PTCHAR","Ptr","CharP (A) | ShortP (U)",4,8,"typedef TCHAR *PTCHAR | typedef TCHAR *PTCHAR"] 301 | DATA_TYPES["PTSTR"] := ["PTSTR","Ptr","Str / AStr / WStr",4,8,"typedef LPSTR PTSTR / LPWSTR PTSTR"] 302 | DATA_TYPES["PUCHAR"] := ["PUCHAR","Ptr","UCharP",4,8,"typedef UCHAR *PUCHAR"] 303 | DATA_TYPES["PUHALF_PTR"] := ["PUHALF_PTR","UShort (32) | UInt (64)","UShortP | UIntP",4,8,"typedef UHALF_PTR *PUHALF_PTR | typedef UHALF_PTR *PUHALF_PTR"] 304 | DATA_TYPES["PUINT"] := ["PUINT","Ptr","UIntP",4,8,"typedef UINT *PUINT"] 305 | DATA_TYPES["PUINT_PTR"] := ["PUINT_PTR","UPtr","UPtrP",4,8,"typedef UINT_PTR *PUINT_PTR"] 306 | DATA_TYPES["PUINT8"] := ["PUINT8","Ptr","UCharP",4,8,"typedef UINT8 *PUINT8"] 307 | DATA_TYPES["PUINT16"] := ["PUINT16","Ptr","UShortP",4,8,"typedef UINT16 *PUINT16"] 308 | DATA_TYPES["PUINT32"] := ["PUINT32","Ptr","UIntP",4,8,"typedef UINT32 *PUINT32"] 309 | DATA_TYPES["PUINT64"] := ["PUINT64","Ptr","Int64P",4,8,"typedef UINT64 *PUINT64"] 310 | DATA_TYPES["PULONG"] := ["PULONG","Ptr","UIntP",4,8,"typedef ULONG *PULONG"] 311 | DATA_TYPES["PULONGLONG"] := ["PULONGLONG","Ptr","Int64P",4,8,"typedef ULONGLONG *PULONGLONG"] 312 | DATA_TYPES["PULONG_PTR"] := ["PULONG_PTR","UPtr","UPtrP",4,8,"typedef ULONG_PTR *PULONG_PTR"] 313 | DATA_TYPES["PULONG32"] := ["PULONG32","Ptr","UIntP",4,8,"typedef ULONG32 *PULONG32"] 314 | DATA_TYPES["PULONG64"] := ["PULONG64","Ptr","Int64P",4,8,"typedef ULONG64 *PULONG64"] 315 | DATA_TYPES["PUSHORT"] := ["PUSHORT","Ptr","UShortP",4,8,"typedef USHORT *PUSHORT"] 316 | DATA_TYPES["PVOID"] := ["PVOID","Ptr","PtrP",4,8,"typedef void *PVOID"] 317 | DATA_TYPES["PWCHAR"] := ["PWCHAR","Ptr","UShortP",4,8,"typedef WCHAR *PWCHAR"] 318 | DATA_TYPES["PWORD"] := ["PWORD","Ptr","UShortP",4,8,"typedef WORD *PWORD"] 319 | DATA_TYPES["PWSTR"] := ["PWSTR","Ptr","Str / WStr",4,8,"typedef WCHAR *PWSTR"] 320 | DATA_TYPES["QWORD"] := ["QWORD","Int64","","","","typedef unsigned __int64 QWORD"] 321 | DATA_TYPES["SC_HANDLE"] := ["SC_HANDLE","Ptr","",4,8,"typedef HANDLE SC_HANDLE"] 322 | DATA_TYPES["SC_LOCK"] := ["SC_LOCK","Ptr","PtrP",4,8,"typedef LPVOID SC_LOCK"] 323 | DATA_TYPES["SERVICE_STATUS_HANDLE"] := ["SERVICE_STATUS_HANDLE","Ptr","",4,8,"typedef HANDLE SERVICE_STATUS_HANDLE"] 324 | DATA_TYPES["SHORT"] := ["SHORT","Short","",2,2,"typedef short SHORT"] 325 | DATA_TYPES["SIZE_T"] := ["SIZE_T","UPtr","",4,8,"typedef ULONG_PTR SIZE_T"] 326 | DATA_TYPES["SSIZE_T"] := ["SSIZE_T","Ptr","",4,8,"typedef LONG_PTR SSIZE_T"] 327 | DATA_TYPES["TBYTE"] := ["TBYTE","UChar (A) | UShort (U)","",1,1,"typedef unsigned char TBYTE | typedef WCHAR TBYTE"] 328 | DATA_TYPES["TCHAR"] := ["TCHAR","Char (A) | UShort (U)","",1,1,"typedef char TCHAR | typedef WCHAR TCHAR"] 329 | DATA_TYPES["UCHAR"] := ["UCHAR","UChar","",1,1,"typedef unsigned char UCHAR"] 330 | DATA_TYPES["UHALF_PTR"] := ["UHALF_PTR","UShort (32) | UInt (64)","",2,4,"typedef unsigned short UHALF_PTR | typedef unsigned int UHALF_PTR"] 331 | DATA_TYPES["UINT"] := ["UINT","UInt","",4,4,"typedef unsigned int UINT"] 332 | DATA_TYPES["UINT_PTR"] := ["UINT_PTR","UPtr","",4,8,"typedef unsigned int UINT_PTR / unsigned __int64 UINT_PTR"] 333 | DATA_TYPES["UINT8"] := ["UINT8","UChar","",1,1,"typedef unsigned char UINT8"] 334 | DATA_TYPES["UINT16"] := ["UINT16","UShort","",2,2,"typedef unsigned short UINT16"] 335 | DATA_TYPES["UINT32"] := ["UINT32","UInt","",4,4,"typedef unsigned int UINT32"] 336 | DATA_TYPES["UINT64"] := ["UINT64","Int64","",8,8,"typedef unsigned __int 64 UINT64"] 337 | DATA_TYPES["ULONG"] := ["ULONG","UInt","",4,4,"typedef unsigned long ULONG"] 338 | DATA_TYPES["ULONGLONG"] := ["ULONGLONG","Int64","",8,8,"typedef unsigned __int64 ULONGLONG"] 339 | DATA_TYPES["ULONG_PTR"] := ["ULONG_PTR","UPtr","",4,8,"typedef unsigned long ULONG_PTR / unsigned __int64 ULONG_PTR"] 340 | DATA_TYPES["ULONG32"] := ["ULONG32","UInt","",4,4,"typedef unsigned int ULONG32"] 341 | DATA_TYPES["ULONG64"] := ["ULONG64","Int64","",8,8,"typedef unsigned __int64 ULONG64"] 342 | DATA_TYPES["USHORT"] := ["USHORT","UShort","",2,2,"typedef unsigned short USHORT"] 343 | DATA_TYPES["USN"] := ["USN","Int64","",8,8,"typedef LONGLONG USN"] 344 | DATA_TYPES["VOID"] := ["VOID","Ptr","",4,8,"#define VOID void"] 345 | DATA_TYPES["WCHAR"] := ["WCHAR","UShort","",2,2,"typedef wchar_t WCHAR"] 346 | DATA_TYPES["WORD"] := ["WORD","UShort","",2,2,"typedef unsigned short WORD"] 347 | DATA_TYPES["WPARAM"] := ["WPARAM","UPtr","",4,8,"typedef UINT_PTR WPARAM"] 348 | return DATA_TYPES 349 | } 350 | } 351 | 352 | ; =========================================================================================================================================================================== 353 | --------------------------------------------------------------------------------