8 use vars qw(@ISA @EXPORT @EXPORT_OK);
14 my $module_declarations = {
15 "ActivateKeyboardLayout" => ["long", ["long", "long"]],
16 "AdjustWindowRect" => ["long", ["ptr", "long", "long"]],
17 "AdjustWindowRectEx" => ["long", ["ptr", "long", "long", "long"]],
18 "AllowSetForegroundWindow" => ["long", ["long"]],
19 "AnimateWindow" => ["long", ["long", "long", "long"]],
20 "AnyPopup" => ["long", []],
21 "AppendMenuA" => ["long", ["long", "long", "long", "str"]],
22 "AppendMenuW" => ["long", ["long", "long", "long", "wstr"]],
23 "ArrangeIconicWindows" => ["long", ["long"]],
24 "AttachThreadInput" => ["long", ["long", "long", "long"]],
25 "BeginDeferWindowPos" => ["long", ["long"]],
26 "BeginPaint" => ["long", ["long", "ptr"]],
27 "BringWindowToTop" => ["long", ["long"]],
28 "BroadcastSystemMessage" => ["long", ["long", "ptr", "long", "long", "long"]],
29 "BroadcastSystemMessageA" => ["long", ["long", "ptr", "long", "long", "long"]],
30 "CalcChildScroll" => ["void", ["long", "long"]],
31 "CallMsgFilterA" => ["long", ["ptr", "long"]],
32 "CallMsgFilterW" => ["long", ["ptr", "long"]],
33 "CallNextHookEx" => ["long", ["long", "long", "long", "long"]],
34 "CallNextHookEx16" => ["long", ["long", "long", "long", "long"]],
35 "CallWindowProc16" => ["long", ["ptr", "long", "long", "long", "long"]],
36 "CallWindowProcA" => ["long", ["ptr", "long", "long", "long", "long"]],
37 "CallWindowProcW" => ["long", ["ptr", "long", "long", "long", "long"]],
38 "CascadeWindows" => ["long", ["long", "long", "ptr", "long", "ptr"]],
39 "ChangeClipboardChain" => ["long", ["long", "long"]],
40 "ChangeDisplaySettingsA" => ["long", ["ptr", "long"]],
41 "ChangeDisplaySettingsExA" => ["long", ["str", "ptr", "long", "long", "long"]],
42 "ChangeMenuA" => ["long", ["long", "long", "str", "long", "long"]],
43 "ChangeMenuW" => ["long", ["long", "long", "wstr", "long", "long"]],
44 "CharLowerA" => ["str", ["str"]],
45 "CharLowerBuffA" => ["long", ["str", "long"]],
46 "CharLowerBuffW" => ["long", ["wstr", "long"]],
47 "CharLowerW" => ["wstr", ["wstr"]],
48 "CharNextA" => ["str", ["str"]],
49 "CharNextExA" => ["str", ["long", "str", "long"]],
50 "CharNextExW" => ["wstr", ["long", "wstr", "long"]],
51 "CharNextW" => ["wstr", ["wstr"]],
52 "CharPrevA" => ["str", ["str", "str"]],
53 "CharPrevExA" => ["str", ["long", "str", "str", "long"]],
54 "CharPrevExW" => ["str", ["long", "wstr", "wstr", "long"]],
55 "CharPrevW" => ["wstr", ["wstr", "wstr"]],
56 "CharToOemA" => ["long", ["str", "str"]],
57 "CharToOemBuffA" => ["long", ["str", "str", "long"]],
58 "CharToOemBuffW" => ["long", ["wstr", "str", "long"]],
59 "CharToOemW" => ["long", ["wstr", "str"]],
60 "CharUpperA" => ["str", ["str"]],
61 "CharUpperBuffA" => ["long", ["str", "long"]],
62 "CharUpperBuffW" => ["long", ["wstr", "long"]],
63 "CharUpperW" => ["wstr", ["wstr"]],
64 "CheckDlgButton" => ["long", ["long", "long", "long"]],
65 "CheckMenuItem" => ["long", ["long", "long", "long"]],
66 "CheckMenuRadioItem" => ["long", ["long", "long", "long", "long", "long"]],
67 "CheckRadioButton" => ["long", ["long", "long", "long", "long"]],
68 "ChildWindowFromPoint" => ["long", ["long", "long", "long"]],
69 "ChildWindowFromPointEx" => ["long", ["long", "long", "long", "long"]],
70 "ClientToScreen" => ["long", ["long", "ptr"]],
71 "ClipCursor" => ["long", ["ptr"]],
72 "CloseClipboard" => ["long", []],
73 "CloseDesktop" => ["long", ["long"]],
74 "CloseDriver16" => ["long", ["long", "long", "long"]],
75 "CloseWindow" => ["long", ["long"]],
76 "CloseWindowStation" => ["long", ["long"]],
77 "CopyAcceleratorTableA" => ["long", ["long", "ptr", "long"]],
78 "CopyAcceleratorTableW" => ["long", ["long", "ptr", "long"]],
79 "CopyIcon" => ["long", ["long"]],
80 "CopyImage" => ["long", ["long", "long", "long", "long", "long"]],
81 "CopyRect" => ["long", ["ptr", "ptr"]],
82 "CountClipboardFormats" => ["long", []],
83 "CreateAcceleratorTableA" => ["long", ["ptr", "long"]],
84 "CreateAcceleratorTableW" => ["long", ["ptr", "long"]],
85 "CreateCaret" => ["long", ["long", "long", "long", "long"]],
86 "CreateCursor" => ["long", ["long", "long", "long", "long", "long", "ptr", "ptr"]],
87 "CreateDesktopA" => ["long", ["str", "str", "ptr", "long", "long", "ptr"]],
88 "CreateDesktopW" => ["long", ["wstr", "wstr", "ptr", "long", "long", "ptr"]],
89 "CreateDialogIndirectParam16" => ["long", ["long", "ptr", "long", "ptr", "long"]],
90 "CreateDialogIndirectParamA" => ["long", ["long", "ptr", "long", "ptr", "long"]],
91 "CreateDialogIndirectParamAorW" => ["long", ["long", "ptr", "long", "ptr", "long"]],
92 "CreateDialogIndirectParamW" => ["long", ["long", "ptr", "long", "ptr", "long"]],
93 "CreateDialogParamA" => ["long", ["long", "str", "long", "ptr", "long"]],
94 "CreateDialogParamW" => ["long", ["long", "wstr", "long", "ptr", "long"]],
95 "CreateIcon" => ["long", ["long", "long", "long", "long", "long", "ptr", "ptr"]],
96 "CreateIconFromResource" => ["long", ["ptr", "long", "long", "long"]],
97 "CreateIconFromResourceEx" => ["long", ["ptr", "long", "long", "long", "long", "long", "long"]],
98 "CreateIconIndirect" => ["long", ["ptr"]],
99 "CreateMDIWindowA" => ["long", ["str", "str", "long", "long", "long", "long", "long", "long", "long", "long"]],
100 "CreateMDIWindowW" => ["long", ["wstr", "wstr", "long", "long", "long", "long", "long", "long", "long", "long"]],
101 "CreateMenu" => ["long", []],
102 "CreatePopupMenu" => ["long", []],
103 "CreateWindowExA" => ["long", ["long", "str", "str", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
104 "CreateWindowExW" => ["long", ["long", "wstr", "wstr", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
105 "CreateWindowStationW" => ["long", ["wstr", "long", "long", "ptr"]],
106 "DdeAbandonTransaction" => ["long", ["long", "long", "long"]],
107 "DdeAccessData" => ["ptr", ["long", "ptr"]],
108 "DdeAddData" => ["long", ["long", "ptr", "long", "long"]],
109 "DdeClientTransaction" => ["long", ["ptr", "long", "long", "long", "long", "long", "long", "ptr"]],
110 "DdeCmpStringHandles" => ["long", ["long", "long"]],
111 "DdeConnect" => ["long", ["long", "long", "long", "ptr"]],
112 "DdeConnectList" => ["long", ["long", "long", "long", "long", "ptr"]],
113 "DdeCreateDataHandle" => ["long", ["long", "ptr", "long", "long", "long", "long", "long"]],
114 "DdeCreateStringHandleA" => ["long", ["long", "str", "long"]],
115 "DdeCreateStringHandleW" => ["long", ["long", "wstr", "long"]],
116 "DdeDisconnect" => ["long", ["long"]],
117 "DdeDisconnectList" => ["long", ["long"]],
118 "DdeEnableCallback" => ["long", ["long", "long", "long"]],
119 "DdeFreeDataHandle" => ["long", ["long"]],
120 "DdeFreeStringHandle" => ["long", ["long", "long"]],
121 "DdeGetData" => ["long", ["long", "ptr", "long", "long"]],
122 "DdeGetLastError" => ["long", ["long"]],
123 "DdeImpersonateClient" => ["long", ["long"]],
124 "DdeInitializeA" => ["long", ["ptr", "ptr", "long", "long"]],
125 "DdeInitializeW" => ["long", ["ptr", "ptr", "long", "long"]],
126 "DdeKeepStringHandle" => ["long", ["long", "long"]],
127 "DdeNameService" => ["long", ["long", "long", "long", "long"]],
128 "DdePostAdvise" => ["long", ["long", "long", "long"]],
129 "DdeQueryConvInfo" => ["long", ["long", "long", "ptr"]],
130 "DdeQueryNextServer" => ["long", ["long", "long"]],
131 "DdeQueryStringA" => ["long", ["long", "long", "str", "long", "long"]],
132 "DdeQueryStringW" => ["long", ["long", "long", "wstr", "long", "long"]],
133 "DdeReconnect" => ["long", ["long"]],
134 "DdeSetQualityOfService" => ["long", ["long", "ptr", "ptr"]],
135 "DdeSetUserHandle" => ["long", ["long", "long", "long"]],
136 "DdeUnaccessData" => ["long", ["long"]],
137 "DdeUninitialize" => ["long", ["long"]],
138 "DefDlgProcA" => ["long", ["long", "long", "long", "long"]],
139 "DefDlgProcW" => ["long", ["long", "long", "long", "long"]],
140 "DefDriverProc16" => ["long", ["long", "long", "long", "long", "long"]],
141 "DefFrameProcA" => ["long", ["long", "long", "long", "long", "long"]],
142 "DefFrameProcW" => ["long", ["long", "long", "long", "long", "long"]],
143 "DefMDIChildProcA" => ["long", ["long", "long", "long", "long"]],
144 "DefMDIChildProcW" => ["long", ["long", "long", "long", "long"]],
145 "DefWindowProcA" => ["long", ["long", "long", "long", "long"]],
146 "DefWindowProcW" => ["long", ["long", "long", "long", "long"]],
147 "DeferWindowPos" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long"]],
148 "DeleteMenu" => ["long", ["long", "long", "long"]],
149 "DeregisterShellHookWindow" => ["long", ["long"]],
150 "DestroyAcceleratorTable" => ["long", ["long"]],
151 "DestroyCaret" => ["long", []],
152 "DestroyCursor" => ["long", ["long"]],
153 "DestroyIcon" => ["long", ["long"]],
154 "DestroyIcon32" => ["long", ["long", "long"]],
155 "DestroyMenu" => ["long", ["long"]],
156 "DestroyWindow" => ["long", ["long"]],
157 "DialogBoxIndirectParam16" => ["long", ["long", "long", "long", "ptr", "long"]],
158 "DialogBoxIndirectParamA" => ["long", ["long", "ptr", "long", "ptr", "long"]],
159 "DialogBoxIndirectParamAorW" => ["long", ["long", "ptr", "long", "ptr", "long", "long"]],
160 "DialogBoxIndirectParamW" => ["long", ["long", "ptr", "long", "ptr", "long"]],
161 "DialogBoxParamA" => ["long", ["long", "str", "long", "ptr", "long"]],
162 "DialogBoxParamW" => ["long", ["long", "wstr", "long", "ptr", "long"]],
163 "DispatchMessageA" => ["long", ["ptr"]],
164 "DispatchMessageW" => ["long", ["ptr"]],
165 "DlgDirListA" => ["long", ["long", "str", "long", "long", "long"]],
166 "DlgDirListComboBoxA" => ["long", ["long", "str", "long", "long", "long"]],
167 "DlgDirListComboBoxW" => ["long", ["long", "wstr", "long", "long", "long"]],
168 "DlgDirListW" => ["long", ["long", "wstr", "long", "long", "long"]],
169 "DlgDirSelectComboBoxExA" => ["long", ["long", "str", "long", "long"]],
170 "DlgDirSelectComboBoxExW" => ["long", ["long", "wstr", "long", "long"]],
171 "DlgDirSelectExA" => ["long", ["long", "str", "long", "long"]],
172 "DlgDirSelectExW" => ["long", ["long", "wstr", "long", "long"]],
173 "DragDetect" => ["long", ["long", "long", "long"]],
174 "DrawAnimatedRects" => ["long", ["long", "long", "ptr", "ptr"]],
175 "DrawCaption" => ["long", ["long", "long", "ptr", "long"]],
176 "DrawCaptionTempA" => ["long", ["long", "long", "ptr", "long", "long", "str", "long"]],
177 "DrawCaptionTempW" => ["long", ["long", "long", "ptr", "long", "long", "wstr", "long"]],
178 "DrawEdge" => ["long", ["long", "ptr", "long", "long"]],
179 "DrawFocusRect" => ["long", ["long", "ptr"]],
180 "DrawFrameControl" => ["long", ["long", "ptr", "long", "long"]],
181 "DrawIcon" => ["long", ["long", "long", "long", "long"]],
182 "DrawIconEx" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
183 "DrawMenuBar" => ["long", ["long"]],
184 "DrawMenuBarTemp" => ["long", ["long", "long", "ptr", "long", "long"]],
185 "DrawStateA" => ["long", ["long", "long", "ptr", "long", "long", "long", "long", "long", "long", "long"]],
186 "DrawStateW" => ["long", ["long", "long", "ptr", "long", "long", "long", "long", "long", "long", "long"]],
187 "DrawTextA" => ["long", ["long", "str", "long", "ptr", "long"]],
188 "DrawTextExA" => ["long", ["long", "str", "long", "ptr", "long", "ptr"]],
189 "DrawTextExW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr"]],
190 "DrawTextW" => ["long", ["long", "wstr", "long", "ptr", "long"]],
191 "EditWndProc" => ["long", ["long", "long", "long", "long"]],
192 "EditWndProcW" => ["long", ["long", "long", "long", "long"]],
193 "EmptyClipboard" => ["long", []],
194 "EnableMenuItem" => ["long", ["long", "long", "long"]],
195 "EnableScrollBar" => ["long", ["long", "long", "long"]],
196 "EnableWindow" => ["long", ["long", "long"]],
197 "EndDeferWindowPos" => ["long", ["long"]],
198 "EndDialog" => ["long", ["long", "long"]],
199 "EndMenu" => ["void", []],
200 "EndPaint" => ["long", ["long", "ptr"]],
201 "EnumChildWindows" => ["long", ["long", "ptr", "long"]],
202 "EnumClipboardFormats" => ["long", ["long"]],
203 "EnumDesktopWindows" => ["long", ["long", "ptr", "long"]],
204 "EnumDisplayDevicesA" => ["long", ["ptr", "long", "ptr", "long"]],
205 "EnumDisplayDevicesW" => ["long", ["ptr", "long", "ptr", "long"]],
206 "EnumDisplayMonitors" => ["long", ["long", "ptr", "ptr", "long"]],
207 "EnumDisplaySettingsA" => ["long", ["str", "long", "ptr"]],
208 "EnumDisplaySettingsExA" => ["long", ["str", "long", "ptr", "long"]],
209 "EnumDisplaySettingsExW" => ["long", ["wstr", "long", "ptr", "long"]],
210 "EnumDisplaySettingsW" => ["long", ["wstr", "long", "ptr"]],
211 "EnumPropsA" => ["long", ["long", "ptr"]],
212 "EnumPropsExA" => ["long", ["long", "ptr", "long"]],
213 "EnumPropsExW" => ["long", ["long", "ptr", "long"]],
214 "EnumPropsW" => ["long", ["long", "ptr"]],
215 "EnumThreadWindows" => ["long", ["long", "ptr", "long"]],
216 "EnumWindows" => ["long", ["ptr", "long"]],
217 "EqualRect" => ["long", ["ptr", "ptr"]],
218 "ExcludeUpdateRgn" => ["long", ["long", "long"]],
219 "ExitWindowsEx" => ["long", ["long", "long"]],
220 "FillRect" => ["long", ["long", "ptr", "long"]],
221 "FindWindowA" => ["long", ["str", "str"]],
222 "FindWindowExA" => ["long", ["long", "long", "str", "str"]],
223 "FindWindowExW" => ["long", ["long", "long", "wstr", "wstr"]],
224 "FindWindowW" => ["long", ["wstr", "wstr"]],
225 "FlashWindow" => ["long", ["long", "long"]],
226 "FrameRect" => ["long", ["long", "ptr", "long"]],
227 "FreeDDElParam" => ["long", ["long", "long"]],
228 "GetActiveWindow" => ["long", []],
229 "GetAncestor" => ["long", ["long", "long"]],
230 "GetAppCompatFlags" => ["long", ["long"]],
231 "GetAsyncKeyState" => ["long", ["long"]],
232 "GetCapture" => ["long", []],
233 "GetCaretBlinkTime" => ["long", []],
234 "GetCaretPos" => ["long", ["ptr"]],
235 "GetClassInfoA" => ["long", ["long", "str", "ptr"]],
236 "GetClassInfoExA" => ["long", ["long", "str", "ptr"]],
237 "GetClassInfoExW" => ["long", ["long", "wstr", "ptr"]],
238 "GetClassInfoW" => ["long", ["long", "wstr", "ptr"]],
239 "GetClassLongA" => ["long", ["long", "long"]],
240 "GetClassLongW" => ["long", ["long", "long"]],
241 "GetClassNameA" => ["long", ["long", "str", "long"]],
242 "GetClassNameW" => ["long", ["long", "wstr", "long"]],
243 "GetClassWord" => ["long", ["long", "long"]],
244 "GetClientRect" => ["long", ["long", "ptr"]],
245 "GetClipCursor" => ["long", ["ptr"]],
246 "GetClipboardData" => ["long", ["long"]],
247 "GetClipboardFormatNameA" => ["long", ["long", "str", "long"]],
248 "GetClipboardFormatNameW" => ["long", ["long", "wstr", "long"]],
249 "GetClipboardOwner" => ["long", []],
250 "GetClipboardSequenceNumber" => ["long", []],
251 "GetClipboardViewer" => ["long", []],
252 "GetCursor" => ["long", []],
253 "GetCursorPos" => ["long", ["ptr"]],
254 "GetDC" => ["long", ["long"]],
255 "GetDCEx" => ["long", ["long", "long", "long"]],
256 "GetDesktopWindow" => ["long", []],
257 "GetDialogBaseUnits" => ["long", []],
258 "GetDlgCtrlID" => ["long", ["long"]],
259 "GetDlgItem" => ["long", ["long", "long"]],
260 "GetDlgItemInt" => ["long", ["long", "long", "ptr", "long"]],
261 "GetDlgItemTextA" => ["long", ["long", "long", "str", "long"]],
262 "GetDlgItemTextW" => ["long", ["long", "long", "wstr", "long"]],
263 "GetDoubleClickTime" => ["long", []],
264 "GetDriverModuleHandle16" => ["long", ["long"]],
265 "GetFocus" => ["long", []],
266 "GetForegroundWindow" => ["long", []],
267 "GetIconInfo" => ["long", ["long", "ptr"]],
268 "GetInputState" => ["long", []],
269 "GetInternalWindowPos" => ["long", ["long", "ptr", "ptr"]],
270 "GetKBCodePage" => ["long", []],
271 "GetKeyNameTextA" => ["long", ["long", "str", "long"]],
272 "GetKeyNameTextW" => ["long", ["long", "wstr", "long"]],
273 "GetKeyState" => ["long", ["long"]],
274 "GetKeyboardLayout" => ["long", ["long"]],
275 "GetKeyboardLayoutList" => ["long", ["long", "ptr"]],
276 "GetKeyboardLayoutNameA" => ["long", ["str"]],
277 "GetKeyboardLayoutNameW" => ["long", ["wstr"]],
278 "GetKeyboardState" => ["long", ["ptr"]],
279 "GetKeyboardType" => ["long", ["long"]],
280 "GetLastActivePopup" => ["long", ["long"]],
281 "GetMenu" => ["long", ["long"]],
282 "GetMenuCheckMarkDimensions" => ["long", []],
283 "GetMenuContextHelpId" => ["long", ["long"]],
284 "GetMenuDefaultItem" => ["long", ["long", "long", "long"]],
285 "GetMenuInfo" => ["long", ["long", "ptr"]],
286 "GetMenuItemCount" => ["long", ["long"]],
287 "GetMenuItemID" => ["long", ["long", "long"]],
288 "GetMenuItemInfoA" => ["long", ["long", "long", "long", "ptr"]],
289 "GetMenuItemInfoW" => ["long", ["long", "long", "long", "ptr"]],
290 "GetMenuItemRect" => ["long", ["long", "long", "long", "ptr"]],
291 "GetMenuState" => ["long", ["long", "long", "long"]],
292 "GetMenuStringA" => ["long", ["long", "long", "str", "long", "long"]],
293 "GetMenuStringW" => ["long", ["long", "long", "wstr", "long", "long"]],
294 "GetMessageA" => ["long", ["ptr", "long", "long", "long"]],
295 "GetMessageExtraInfo" => ["long", []],
296 "GetMessagePos" => ["long", []],
297 "GetMessageTime" => ["long", []],
298 "GetMessageW" => ["long", ["ptr", "long", "long", "long"]],
299 "GetMonitorInfoA" => ["long", ["long", "ptr"]],
300 "GetMonitorInfoW" => ["long", ["long", "ptr"]],
301 "GetNextDlgGroupItem" => ["long", ["long", "long", "long"]],
302 "GetNextDlgTabItem" => ["long", ["long", "long", "long"]],
303 "GetOpenClipboardWindow" => ["long", []],
304 "GetParent" => ["long", ["long"]],
305 "GetPriorityClipboardFormat" => ["long", ["ptr", "long"]],
306 "GetProcessDefaultLayout" => ["long", ["ptr"]],
307 "GetProcessWindowStation" => ["long", []],
308 "GetProgmanWindow" => ["long", []],
309 "GetPropA" => ["long", ["long", "str"]],
310 "GetPropW" => ["long", ["long", "wstr"]],
311 "GetQueueStatus" => ["long", ["long"]],
312 "GetScrollInfo" => ["long", ["long", "long", "ptr"]],
313 "GetScrollPos" => ["long", ["long", "long"]],
314 "GetScrollRange" => ["long", ["long", "long", "ptr", "ptr"]],
315 "GetShellWindow" => ["long", []],
316 "GetSubMenu" => ["long", ["long", "long"]],
317 "GetSysColor" => ["long", ["long"]],
318 "GetSysColorBrush" => ["long", ["long"]],
319 "GetSystemMenu" => ["long", ["long", "long"]],
320 "GetSystemMetrics" => ["long", ["long"]],
321 "GetTabbedTextExtentA" => ["long", ["long", "str", "long", "long", "ptr"]],
322 "GetTabbedTextExtentW" => ["long", ["long", "wstr", "long", "long", "ptr"]],
323 "GetTaskmanWindow" => ["long", []],
324 "GetThreadDesktop" => ["long", ["long"]],
325 "GetTopWindow" => ["long", ["long"]],
326 "GetUpdateRect" => ["long", ["long", "ptr", "long"]],
327 "GetUpdateRgn" => ["long", ["long", "long", "long"]],
328 "GetUserObjectInformationA" => ["long", ["long", "long", "ptr", "long", "ptr"]],
329 "GetUserObjectInformationW" => ["long", ["long", "long", "ptr", "long", "ptr"]],
330 "GetUserObjectSecurity" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
331 "GetWindow" => ["long", ["long", "long"]],
332 "GetWindowContextHelpId" => ["long", ["long"]],
333 "GetWindowDC" => ["long", ["long"]],
334 "GetWindowInfo" => ["long", ["long", "ptr"]],
335 "GetWindowLongA" => ["long", ["long", "long"]],
336 "GetWindowLongW" => ["long", ["long", "long"]],
337 "GetWindowModuleFileNameA" => ["long", ["long", "str", "long"]],
338 "GetWindowModuleFileNameW" => ["long", ["long", "str", "long"]],
339 "GetWindowPlacement" => ["long", ["long", "ptr"]],
340 "GetWindowRect" => ["long", ["long", "ptr"]],
341 "GetWindowRgn" => ["long", ["long", "long"]],
342 "GetWindowTextA" => ["long", ["long", "str", "long"]],
343 "GetWindowTextLengthA" => ["long", ["long"]],
344 "GetWindowTextLengthW" => ["long", ["long"]],
345 "GetWindowTextW" => ["long", ["long", "wstr", "long"]],
346 "GetWindowThreadProcessId" => ["long", ["long", "ptr"]],
347 "GetWindowWord" => ["long", ["long", "long"]],
348 "GrayStringA" => ["long", ["long", "long", "ptr", "long", "long", "long", "long", "long", "long"]],
349 "GrayStringW" => ["long", ["long", "long", "ptr", "long", "long", "long", "long", "long", "long"]],
350 "HideCaret" => ["long", ["long"]],
351 "HiliteMenuItem" => ["long", ["long", "long", "long", "long"]],
352 "ImpersonateDdeClientWindow" => ["long", ["long", "long"]],
353 "InSendMessage" => ["long", []],
354 "InSendMessageEx" => ["long", ["ptr"]],
355 "InflateRect" => ["long", ["ptr", "long", "long"]],
356 "InsertMenuA" => ["long", ["long", "long", "long", "long", "str"]],
357 "InsertMenuItemA" => ["long", ["long", "long", "long", "ptr"]],
358 "InsertMenuItemW" => ["long", ["long", "long", "long", "ptr"]],
359 "InsertMenuW" => ["long", ["long", "long", "long", "long", "wstr"]],
360 "InternalGetWindowText" => ["long", ["long", "wstr", "long"]],
361 "IntersectRect" => ["long", ["ptr", "ptr", "ptr"]],
362 "InvalidateRect" => ["long", ["long", "ptr", "long"]],
363 "InvalidateRgn" => ["long", ["long", "long", "long"]],
364 "InvertRect" => ["long", ["long", "ptr"]],
365 "IsCharAlphaA" => ["long", ["long"]],
366 "IsCharAlphaNumericA" => ["long", ["long"]],
367 "IsCharAlphaNumericW" => ["long", ["long"]],
368 "IsCharAlphaW" => ["long", ["long"]],
369 "IsCharLowerA" => ["long", ["long"]],
370 "IsCharLowerW" => ["long", ["long"]],
371 "IsCharUpperA" => ["long", ["long"]],
372 "IsCharUpperW" => ["long", ["long"]],
373 "IsChild" => ["long", ["long", "long"]],
374 "IsClipboardFormatAvailable" => ["long", ["long"]],
375 "IsDialogMessage" => ["long", ["long", "ptr"]],
376 "IsDialogMessageA" => ["long", ["long", "ptr"]],
377 "IsDialogMessageW" => ["long", ["long", "ptr"]],
378 "IsDlgButtonChecked" => ["long", ["long", "long"]],
379 "IsIconic" => ["long", ["long"]],
380 "IsMenu" => ["long", ["long"]],
381 "IsRectEmpty" => ["long", ["ptr"]],
382 "IsWinEventHookInstalled" => ["long", ["long"]],
383 "IsWindow" => ["long", ["long"]],
384 "IsWindowEnabled" => ["long", ["long"]],
385 "IsWindowUnicode" => ["long", ["long"]],
386 "IsWindowVisible" => ["long", ["long"]],
387 "IsZoomed" => ["long", ["long"]],
388 "KillSystemTimer" => ["long", ["long", "long"]],
389 "KillTimer" => ["long", ["long", "long"]],
390 "LoadAcceleratorsA" => ["long", ["long", "str"]],
391 "LoadAcceleratorsW" => ["long", ["long", "wstr"]],
392 "LoadBitmapA" => ["long", ["long", "str"]],
393 "LoadBitmapW" => ["long", ["long", "wstr"]],
394 "LoadCursorA" => ["long", ["long", "str"]],
395 "LoadCursorFromFileA" => ["long", ["str"]],
396 "LoadCursorFromFileW" => ["long", ["wstr"]],
397 "LoadCursorW" => ["long", ["long", "wstr"]],
398 "LoadIconA" => ["long", ["long", "str"]],
399 "LoadIconW" => ["long", ["long", "wstr"]],
400 "LoadImageA" => ["long", ["long", "str", "long", "long", "long", "long"]],
401 "LoadImageW" => ["long", ["long", "wstr", "long", "long", "long", "long"]],
402 "LoadKeyboardLayoutA" => ["long", ["str", "long"]],
403 "LoadKeyboardLayoutW" => ["long", ["wstr", "long"]],
404 "LoadLocalFonts" => ["void", []],
405 "LoadMenuA" => ["long", ["long", "str"]],
406 "LoadMenuIndirectA" => ["long", ["ptr"]],
407 "LoadMenuIndirectW" => ["long", ["ptr"]],
408 "LoadMenuW" => ["long", ["long", "wstr"]],
409 "LoadStringA" => ["long", ["long", "long", "str", "long"]],
410 "LoadStringW" => ["long", ["long", "long", "wstr", "long"]],
411 "LockSetForegroundWindow" => ["long", ["long"]],
412 "LockWindowUpdate" => ["long", ["long"]],
413 "LookupIconIdFromDirectory" => ["long", ["ptr", "long"]],
414 "LookupIconIdFromDirectoryEx" => ["long", ["ptr", "long", "long", "long", "long"]],
415 "MapDialogRect" => ["long", ["long", "ptr"]],
416 "MapVirtualKeyA" => ["long", ["long", "long"]],
417 "MapVirtualKeyExA" => ["long", ["long", "long", "long"]],
418 "MapVirtualKeyExW" => ["long", ["long", "long", "long"]],
419 "MapVirtualKeyW" => ["long", ["long", "long"]],
420 "MapWindowPoints" => ["long", ["long", "long", "ptr", "long"]],
421 "MenuItemFromPoint" => ["long", ["long", "long", "long", "long"]],
422 "MessageBeep" => ["long", ["long"]],
423 "MessageBoxA" => ["long", ["long", "str", "str", "long"]],
424 "MessageBoxExA" => ["long", ["long", "str", "str", "long", "long"]],
425 "MessageBoxExW" => ["long", ["long", "wstr", "wstr", "long", "long"]],
426 "MessageBoxIndirectA" => ["long", ["ptr"]],
427 "MessageBoxIndirectW" => ["long", ["ptr"]],
428 "MessageBoxW" => ["long", ["long", "wstr", "wstr", "long"]],
429 "ModifyMenuA" => ["long", ["long", "long", "long", "long", "str"]],
430 "ModifyMenuW" => ["long", ["long", "long", "long", "long", "wstr"]],
431 "MonitorFromPoint" => ["long", ["long", "long", "long"]],
432 "MonitorFromRect" => ["long", ["ptr", "long"]],
433 "MonitorFromWindow" => ["long", ["long", "long"]],
434 "MoveWindow" => ["long", ["long", "long", "long", "long", "long", "long"]],
435 "MsgWaitForMultipleObjects" => ["long", ["long", "ptr", "long", "long", "long"]],
436 "MsgWaitForMultipleObjectsEx" => ["long", ["long", "ptr", "long", "long", "long"]],
437 "NotifyWinEvent" => ["void", ["long", "long", "long", "long"]],
438 "OemKeyScan" => ["long", ["long"]],
439 "OemToCharA" => ["long", ["str", "str"]],
440 "OemToCharBuffA" => ["long", ["str", "str", "long"]],
441 "OemToCharBuffW" => ["long", ["str", "wstr", "long"]],
442 "OemToCharW" => ["long", ["str", "wstr"]],
443 "OffsetRect" => ["long", ["ptr", "long", "long"]],
444 "OpenClipboard" => ["long", ["long"]],
445 "OpenDesktopA" => ["long", ["str", "long", "long", "long"]],
446 "OpenDriver16" => ["long", ["str", "str", "long"]],
447 "OpenIcon" => ["long", ["long"]],
448 "PackDDElParam" => ["long", ["long", "long", "long"]],
449 "PaintDesktop" => ["long", ["long"]],
450 "PeekMessageA" => ["long", ["ptr", "long", "long", "long", "long"]],
451 "PeekMessageW" => ["long", ["ptr", "long", "long", "long", "long"]],
452 "PostAppMessage16" => ["long", ["long", "long", "long", "long"]],
453 "PostMessageA" => ["long", ["long", "long", "long", "long"]],
454 "PostMessageW" => ["long", ["long", "long", "long", "long"]],
455 "PostQuitMessage" => ["void", ["long"]],
456 "PostThreadMessageA" => ["long", ["long", "long", "long", "long"]],
457 "PostThreadMessageW" => ["long", ["long", "long", "long", "long"]],
458 "PrivateExtractIconExA" => ["long", ["str", "long", "ptr", "ptr", "long"]],
459 "PrivateExtractIconExW" => ["long", ["wstr", "long", "ptr", "ptr", "long"]],
460 "PrivateExtractIconsA" => ["long", ["str", "long", "long", "long", "ptr", "long", "long", "long"]],
461 "PrivateExtractIconsW" => ["long", ["wstr", "long", "long", "long", "ptr", "long", "long", "long"]],
462 "PtInRect" => ["long", ["ptr", "long", "long"]],
463 "RedrawWindow" => ["long", ["long", "ptr", "long", "long"]],
464 "RegisterClassA" => ["long", ["ptr"]],
465 "RegisterClassExA" => ["long", ["ptr"]],
466 "RegisterClassExW" => ["long", ["ptr"]],
467 "RegisterClassW" => ["long", ["ptr"]],
468 "RegisterClipboardFormatA" => ["long", ["str"]],
469 "RegisterClipboardFormatW" => ["long", ["wstr"]],
470 "RegisterDeviceNotificationA" => ["long", ["long", "ptr", "long"]],
471 "RegisterHotKey" => ["long", ["long", "long", "long", "long"]],
472 "RegisterLogonProcess" => ["long", ["long", "long"]],
473 "RegisterShellHookWindow" => ["long", ["long"]],
474 "RegisterSystemThread" => ["void", ["long", "long"]],
475 "RegisterTasklist" => ["long", ["long"]],
476 "RegisterWindowMessageA" => ["long", ["str"]],
477 "RegisterWindowMessageW" => ["long", ["wstr"]],
478 "ReleaseCapture" => ["long", []],
479 "ReleaseDC" => ["long", ["long", "long"]],
480 "RemoveMenu" => ["long", ["long", "long", "long"]],
481 "RemovePropA" => ["long", ["long", "str"]],
482 "RemovePropW" => ["long", ["long", "wstr"]],
483 "ReplyMessage" => ["long", ["long"]],
484 "ReuseDDElParam" => ["long", ["long", "long", "long", "long", "long"]],
485 "ScreenToClient" => ["long", ["long", "ptr"]],
486 "ScrollChildren" => ["void", ["long", "long", "long", "long"]],
487 "ScrollDC" => ["long", ["long", "long", "long", "ptr", "ptr", "long", "ptr"]],
488 "ScrollWindow" => ["long", ["long", "long", "long", "ptr", "ptr"]],
489 "ScrollWindowEx" => ["long", ["long", "long", "long", "ptr", "ptr", "long", "ptr", "long"]],
490 "SendDlgItemMessageA" => ["long", ["long", "long", "long", "long", "long"]],
491 "SendDlgItemMessageW" => ["long", ["long", "long", "long", "long", "long"]],
492 "SendDriverMessage16" => ["long", ["long", "long", "long", "long"]],
493 "SendInput" => ["long", ["long", "ptr", "long"]],
494 "SendMessageA" => ["long", ["long", "long", "long", "long"]],
495 "SendMessageCallbackA" => ["long", ["long", "long", "long", "long", "ptr", "long"]],
496 "SendMessageCallbackW" => ["long", ["long", "long", "long", "long", "ptr", "long"]],
497 "SendMessageTimeoutA" => ["long", ["long", "long", "long", "long", "long", "long", "ptr"]],
498 "SendMessageTimeoutW" => ["long", ["long", "long", "long", "long", "long", "long", "ptr"]],
499 "SendMessageW" => ["long", ["long", "long", "long", "long"]],
500 "SendNotifyMessageA" => ["long", ["long", "long", "long", "long"]],
501 "SendNotifyMessageW" => ["long", ["long", "long", "long", "long"]],
502 "SetActiveWindow" => ["long", ["long"]],
503 "SetCapture" => ["long", ["long"]],
504 "SetCaretBlinkTime" => ["long", ["long"]],
505 "SetCaretPos" => ["long", ["long", "long"]],
506 "SetClassLongA" => ["long", ["long", "long", "long"]],
507 "SetClassLongW" => ["long", ["long", "long", "long"]],
508 "SetClassWord" => ["long", ["long", "long", "long"]],
509 "SetClipboardData" => ["long", ["long", "long"]],
510 "SetClipboardViewer" => ["long", ["long"]],
511 "SetCursor" => ["long", ["long"]],
512 "SetCursorPos" => ["long", ["long", "long"]],
513 "SetDebugErrorLevel" => ["void", ["long"]],
514 "SetDeskWallPaper" => ["long", ["str"]],
515 "SetDlgItemInt" => ["long", ["long", "long", "long", "long"]],
516 "SetDlgItemTextA" => ["long", ["long", "long", "str"]],
517 "SetDlgItemTextW" => ["long", ["long", "long", "wstr"]],
518 "SetDoubleClickTime" => ["long", ["long"]],
519 "SetFocus" => ["long", ["long"]],
520 "SetForegroundWindow" => ["long", ["long"]],
521 "SetInternalWindowPos" => ["void", ["long", "long", "ptr", "ptr"]],
522 "SetKeyboardState" => ["long", ["ptr"]],
523 "SetLastErrorEx" => ["void", ["long", "long"]],
524 "SetLogonNotifyWindow" => ["long", ["long", "long"]],
525 "SetMenu" => ["long", ["long", "long"]],
526 "SetMenuContextHelpId" => ["long", ["long", "long"]],
527 "SetMenuDefaultItem" => ["long", ["long", "long", "long"]],
528 "SetMenuInfo" => ["long", ["long", "ptr"]],
529 "SetMenuItemBitmaps" => ["long", ["long", "long", "long", "long", "long"]],
530 "SetMenuItemInfoA" => ["long", ["long", "long", "long", "ptr"]],
531 "SetMenuItemInfoW" => ["long", ["long", "long", "long", "ptr"]],
532 "SetMessageQueue" => ["long", ["long"]],
533 "SetParent" => ["long", ["long", "long"]],
534 "SetProcessDefaultLayout" => ["long", ["long"]],
535 "SetProcessWindowStation" => ["long", ["long"]],
536 "SetProgmanWindow" => ["long", ["long"]],
537 "SetPropA" => ["long", ["long", "str", "long"]],
538 "SetPropW" => ["long", ["long", "wstr", "long"]],
539 "SetRect" => ["long", ["ptr", "long", "long", "long", "long"]],
540 "SetRectEmpty" => ["long", ["ptr"]],
541 "SetScrollPos" => ["long", ["long", "long", "long", "long"]],
542 "SetScrollRange" => ["long", ["long", "long", "long", "long", "long"]],
543 "SetShellWindow" => ["long", ["long"]],
544 "SetShellWindowEx" => ["long", ["long", "long"]],
545 "SetSysColors" => ["long", ["long", "ptr", "ptr"]],
546 "SetSysColorsTemp" => ["long", ["ptr", "ptr", "long"]],
547 "SetSystemCursor" => ["long", ["long", "long"]],
548 "SetSystemMenu" => ["long", ["long", "long"]],
549 "SetSystemTimer" => ["long", ["long", "long", "long", "ptr"]],
550 "SetTaskmanWindow" => ["long", ["long"]],
551 "SetThreadDesktop" => ["long", ["long"]],
552 "SetTimer" => ["long", ["long", "long", "long", "ptr"]],
553 "SetUserObjectInformationA" => ["long", ["long", "long", "ptr", "long"]],
554 "SetUserObjectSecurity" => ["long", ["long", "ptr", "ptr"]],
555 "SetWinEventHook" => ["long", ["long", "long", "long", "ptr", "long", "long", "long"]],
556 "SetWindowContextHelpId" => ["long", ["long", "long"]],
557 "SetWindowLongA" => ["long", ["long", "long", "long"]],
558 "SetWindowLongW" => ["long", ["long", "long", "long"]],
559 "SetWindowPlacement" => ["long", ["long", "ptr"]],
560 "SetWindowPos" => ["long", ["long", "long", "long", "long", "long", "long", "long"]],
561 "SetWindowRgn" => ["long", ["long", "long", "long"]],
562 "SetWindowStationUser" => ["long", ["long", "long"]],
563 "SetWindowText" => ["long", ["long", "str"]],
564 "SetWindowTextA" => ["long", ["long", "str"]],
565 "SetWindowTextW" => ["long", ["long", "wstr"]],
566 "SetWindowWord" => ["long", ["long", "long", "long"]],
567 "SetWindowsHookA" => ["long", ["long", "ptr"]],
568 "SetWindowsHookEx16" => ["long", ["long", "ptr", "long", "long"]],
569 "SetWindowsHookExA" => ["long", ["long", "ptr", "long", "long"]],
570 "SetWindowsHookExW" => ["long", ["long", "ptr", "long", "long"]],
571 "SetWindowsHookW" => ["long", ["long", "ptr"]],
572 "ShowCaret" => ["long", ["long"]],
573 "ShowCursor" => ["long", ["long"]],
574 "ShowOwnedPopups" => ["long", ["long", "long"]],
575 "ShowScrollBar" => ["long", ["long", "long", "long"]],
576 "ShowWindow" => ["long", ["long", "long"]],
577 "ShowWindowAsync" => ["long", ["long", "long"]],
578 "SubtractRect" => ["long", ["ptr", "ptr", "ptr"]],
579 "SwapMouseButton" => ["long", ["long"]],
580 "SwitchToThisWindow" => ["void", ["long", "long"]],
581 "SystemParametersInfoA" => ["long", ["long", "long", "ptr", "long"]],
582 "SystemParametersInfoW" => ["long", ["long", "long", "ptr", "long"]],
583 "TabbedTextOutA" => ["long", ["long", "long", "long", "str", "long", "long", "ptr", "long"]],
584 "TabbedTextOutW" => ["long", ["long", "long", "long", "wstr", "long", "long", "ptr", "long"]],
585 "TileWindows" => ["long", ["long", "long", "ptr", "long", "ptr"]],
586 "ToAscii" => ["long", ["long", "long", "ptr", "ptr", "long"]],
587 "ToAsciiEx" => ["long", ["long", "long", "ptr", "ptr", "long", "long"]],
588 "ToUnicode" => ["long", ["long", "long", "ptr", "wstr", "long", "long"]],
589 "ToUnicodeEx" => ["long", ["long", "long", "ptr", "wstr", "long", "long", "long"]],
590 "TrackPopupMenu" => ["long", ["long", "long", "long", "long", "long", "long", "ptr"]],
591 "TrackPopupMenuEx" => ["long", ["long", "long", "long", "long", "long", "ptr"]],
592 "TranslateAccelerator" => ["long", ["long", "long", "ptr"]],
593 "TranslateAcceleratorA" => ["long", ["long", "long", "ptr"]],
594 "TranslateAcceleratorW" => ["long", ["long", "long", "ptr"]],
595 "TranslateCharsetInfo" => ["long", ["ptr", "ptr", "long"]],
596 "TranslateMDISysAccel" => ["long", ["long", "ptr"]],
597 "TranslateMessage" => ["long", ["ptr"]],
598 "UnhookWinEvent" => ["long", ["long"]],
599 "UnhookWindowsHook" => ["long", ["long", "ptr"]],
600 "UnhookWindowsHookEx" => ["long", ["long"]],
601 "UnionRect" => ["long", ["ptr", "ptr", "ptr"]],
602 "UnpackDDElParam" => ["long", ["long", "long", "ptr", "ptr"]],
603 "UnregisterClassA" => ["long", ["str", "long"]],
604 "UnregisterClassW" => ["long", ["wstr", "long"]],
605 "UnregisterHotKey" => ["long", ["long", "long"]],
606 "UpdateWindow" => ["void", ["long"]],
607 "UserClientDllInitialize" => ["long", ["long", "long", "ptr"]],
608 "UserRealizePalette" => ["long", ["long"]],
609 "UserSignalProc" => ["long", ["long", "long", "long", "long"]],
610 "UserYield16" => ["void", []],
611 "ValidateRect" => ["void", ["long", "ptr"]],
612 "ValidateRgn" => ["void", ["long", "long"]],
613 "VkKeyScanA" => ["long", ["long"]],
614 "VkKeyScanExA" => ["long", ["long", "long"]],
615 "VkKeyScanExW" => ["long", ["long", "long"]],
616 "VkKeyScanW" => ["long", ["long"]],
617 "WaitForInputIdle" => ["long", ["long", "long"]],
618 "WaitMessage" => ["long", []],
619 "WinHelpA" => ["long", ["long", "str", "long", "long"]],
620 "WinHelpW" => ["long", ["long", "wstr", "long", "long"]],
621 "WindowFromDC" => ["long", ["long"]],
622 "WindowFromPoint" => ["long", ["long", "long"]],
623 "keybd_event" => ["void", ["long", "long", "long", "long"]],
624 "mouse_event" => ["void", ["long", "long", "long", "long", "long"]],
625 "wvsprintfA" => ["long", ["str", "str", "ptr"]],
626 "wvsprintfW" => ["long", ["wstr", "wstr", "ptr"]]
629 &wine::declare("user32",%$module_declarations);
630 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));