Added parser template and made AVISplitter use it.
[wine] / dlls / unicows / main.c
1 /*
2  * Implementation of the unicows dll
3  *
4  * Copyright (C) 2003 Alexandre Julliard
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winreg.h"
26 #include "winnls.h"
27 #include "wingdi.h"
28 #include "winuser.h"
29 #include "winver.h"
30 #include "winspool.h"
31 #include "commdlg.h"
32 #include "wincrypt.h"
33 #include "ddeml.h"
34 #include "wincon.h"
35 #include "oledlg.h"
36 #include "ras.h"
37 #include "sspi.h"
38 #include "mmsystem.h"
39 #include "shlobj.h"
40 #include "shellapi.h"
41 #include "vfw.h"
42 #include "winnetwk.h"
43
44 /* Create a dummy reference to every function we need so that
45  * the linker will import them.
46  */
47 const void *dummy_references[] =
48 {
49     AcquireCredentialsHandleW,
50     AddAtomW,
51     AddFontResourceW,
52     AddJobW,
53     AddMonitorW,
54     AddPortW,
55     AddPrinterDriverW,
56     AddPrinterW,
57     AddPrintProcessorW,
58     AddPrintProvidorW,
59     AdvancedDocumentPropertiesW,
60     AppendMenuW,
61     BeginUpdateResourceA,
62     BeginUpdateResourceW,
63     BroadcastSystemMessageW,
64     BuildCommDCBAndTimeoutsW,
65     BuildCommDCBW,
66     CallMsgFilterW,
67     CallNamedPipeW,
68     CallWindowProcA,
69     CallWindowProcW,
70     ChangeDisplaySettingsExW,
71     ChangeDisplaySettingsW,
72     ChangeMenuW,
73     CharLowerBuffW,
74     CharLowerW,
75     CharNextW,
76     CharPrevW,
77     CharToOemBuffW,
78     CharToOemW,
79     CharUpperBuffW,
80     CharUpperW,
81     ChooseColorW,
82     ChooseFontW,
83     CommConfigDialogW,
84     CompareStringW,
85     ConfigurePortW,
86     CopyAcceleratorTableW,
87     CopyEnhMetaFileW,
88     CopyFileExW ,
89     CopyFileW,
90     CopyMetaFileW,
91     CreateAcceleratorTableW,
92     CreateColorSpaceW,
93     CreateDCW,
94     CreateDialogIndirectParamW,
95     CreateDialogParamW,
96     CreateDirectoryExW,
97     CreateDirectoryW,
98     CreateEnhMetaFileW,
99     CreateEventW,
100     CreateFileMappingW,
101     CreateFileW,
102     CreateFontIndirectW,
103     CreateFontW,
104     CreateICW,
105     CreateMDIWindowW,
106     CreateMailslotW,
107     CreateMetaFileW,
108     CreateMutexW,
109     CreateNamedPipeW,
110     CreateProcessW,
111     CreateScalableFontResourceW,
112     CreateSemaphoreW,
113     CreateWaitableTimerW,
114     CreateWindowExW,
115     CryptAcquireContextW,
116     CryptEnumProviderTypesW,
117     CryptEnumProvidersW,
118     CryptGetDefaultProviderW,
119     CryptSetProviderExW,
120     CryptSetProviderW,
121     CryptSignHashW,
122     CryptVerifySignatureW,
123     DdeConnect,
124     DdeConnectList,
125     DdeCreateStringHandleW,
126     DdeInitializeW,
127     DdeQueryConvInfo,
128     DdeQueryStringW,
129     DefDlgProcW,
130     DefFrameProcW,
131     DefMDIChildProcW,
132     DefWindowProcW,
133     DeleteFileW,
134     DeleteMonitorW,
135     DeletePortW,
136     DeletePrinterDriverW,
137     DeletePrintProcessorW,
138     DeletePrintProvidorW,
139     DeviceCapabilitiesW,
140     DialogBoxIndirectParamW,
141     DialogBoxParamW,
142     DispatchMessageW,
143     DlgDirListComboBoxW,
144     DlgDirListW,
145     DlgDirSelectComboBoxExW,
146     DlgDirSelectExW,
147     DocumentPropertiesW,
148     DragQueryFileW,
149     DrawStateW,
150     DrawTextExW,
151     DrawTextW,
152     EnableWindow,
153     EndUpdateResourceA,
154     EndUpdateResourceW,
155     EnumCalendarInfoExW,
156     EnumCalendarInfoW,
157     EnumClipboardFormats,
158     EnumDateFormatsExW,
159     EnumDateFormatsW,
160     EnumDisplayDevicesW,
161     EnumDisplaySettingsExW,
162     EnumDisplaySettingsW,
163     EnumFontFamiliesExW,
164     EnumFontFamiliesW,
165     EnumFontsW,
166     EnumICMProfilesW,
167     EnumMonitorsW,
168     EnumPortsW,
169     EnumPrintProcessorDatatypesW,
170     EnumPrintProcessorsW,
171     EnumPrinterDriversW,
172     EnumPrintersW,
173     EnumPropsA,
174     EnumPropsExA,
175     EnumPropsExW,
176     EnumPropsW,
177     EnumSystemCodePagesW,
178     EnumSystemLocalesW,
179     EnumTimeFormatsW,
180     EnumerateSecurityPackagesW,
181     ExpandEnvironmentStringsW,
182     ExtTextOutW,
183     ExtractIconExW,
184     ExtractIconW,
185     FatalAppExitW,
186     FillConsoleOutputCharacterW,
187     FindAtomW,
188     FindExecutableW,
189     FindFirstChangeNotificationW,
190     FindFirstFileW,
191     FindNextFileW,
192     FindResourceExW,
193     FindResourceW,
194     FindTextW,
195     FindWindowExW,
196     FindWindowW,
197     FormatMessageW,
198     FreeContextBuffer,
199     FreeEnvironmentStringsW,
200     GetAltTabInfoW,
201     GetAtomNameW,
202     GetCPInfo,
203     GetCPInfoExW,
204     GetCalendarInfoW,
205     GetCharABCWidthsFloatW,
206     GetCharABCWidthsW,
207     GetCharWidth32W,
208     GetCharWidthFloatW,
209     GetCharWidthW,
210     GetCharacterPlacementW,
211     GetClassInfoExW,
212     GetClassInfoW,
213     GetClassLongW,
214     GetClassNameW,
215     GetClipboardData,
216     GetClipboardFormatNameW,
217     GetComputerNameW,
218     GetConsoleTitleW,
219     GetCurrencyFormatW,
220     GetCurrentDirectoryW,
221     GetCurrentHwProfileW,
222     GetDateFormatW,
223     GetDefaultCommConfigW,
224     GetDiskFreeSpaceExW ,
225     GetDiskFreeSpaceW,
226     GetDlgItemTextW,
227     GetDriveTypeW,
228     GetEnhMetaFileDescriptionW,
229     GetEnhMetaFileW,
230     GetEnvironmentStringsW,
231     GetEnvironmentVariableW,
232     GetFileAttributesExW,
233     GetFileAttributesW,
234     GetFileTitleW,
235     GetFileVersionInfoSizeW,
236     GetFileVersionInfoW,
237     GetFullPathNameW,
238     GetGlyphOutlineW,
239     GetICMProfileW,
240     GetJobW,
241     GetKerningPairsW,
242     GetKeyNameTextW,
243     GetKeyboardLayoutNameW,
244     GetLocaleInfoW,
245     GetLogColorSpaceW,
246     GetLogicalDriveStringsW,
247     GetLongPathNameW ,
248     GetMenuItemInfoW,
249     GetMenuStringW,
250     GetMessageW,
251     GetMetaFileW,
252     GetModuleFileNameW,
253     GetModuleHandleW,
254     GetMonitorInfoW,
255     GetNamedPipeHandleStateW,
256     GetNumberFormatW,
257     GetObjectW,
258     GetOpenFileNamePreviewW,
259     GetOpenFileNameW,
260     GetOutlineTextMetricsW,
261     GetPrinterDataW,
262     GetPrinterDriverDirectoryW,
263     GetPrinterDriverW,
264     GetPrinterW,
265     GetPrintProcessorDirectoryW,
266     GetPrivateProfileIntW,
267     GetPrivateProfileSectionNamesW,
268     GetPrivateProfileSectionW,
269     GetPrivateProfileStringW,
270     GetPrivateProfileStructW,
271     GetProcAddress,
272     GetProfileIntW,
273     GetProfileSectionW,
274     GetProfileStringW,
275     GetPropA,
276     GetPropW,
277     GetSaveFileNamePreviewW,
278     GetSaveFileNameW,
279     GetShortPathNameW,
280     GetStartupInfoW,
281     GetStringTypeExW,
282     GetStringTypeW,
283     GetSystemDirectoryW,
284     GetSystemWindowsDirectoryW,
285     GetTabbedTextExtentW,
286     GetTempFileNameW,
287     GetTempPathW,
288     GetTextExtentExPointW,
289     GetTextExtentPoint32W,
290     GetTextExtentPointW,
291     GetTextFaceW,
292     GetTextMetricsW,
293     GetTimeFormatW,
294     GetUserNameW,
295     GetVersionExW,
296     GetVolumeInformationW,
297     GetWindowLongA,
298     GetWindowLongW,
299     GetWindowModuleFileNameW,
300     GetWindowTextLengthW,
301     GetWindowTextW,
302     GetWindowsDirectoryW,
303     GlobalAddAtomW,
304     GlobalFindAtomW,
305     GlobalGetAtomNameW,
306     GrayStringW,
307     InitSecurityInterfaceW,
308     InitializeSecurityContextW,
309     InsertMenuItemW,
310     InsertMenuW,
311     IsBadStringPtrW,
312     IsCharAlphaNumericW,
313     IsCharAlphaW,
314     IsCharLowerW,
315     IsCharUpperW,
316     IsClipboardFormatAvailable,
317     IsDialogMessageW,
318     IsTextUnicode,
319     IsValidCodePage,
320     IsWindowUnicode,
321     LCMapStringW,
322     LoadAcceleratorsW,
323     LoadBitmapW,
324     LoadCursorFromFileW,
325     LoadCursorW,
326     LoadIconW,
327     LoadImageW,
328     LoadKeyboardLayoutW,
329     LoadLibraryExW,
330     LoadLibraryW,
331     LoadMenuIndirectW,
332     LoadMenuW,
333     LoadStringW,
334     MCIWndCreateW,
335     MapVirtualKeyExW,
336     MapVirtualKeyW,
337     MessageBoxExW,
338     MessageBoxIndirectW,
339     MessageBoxW,
340     ModifyMenuW,
341     MoveFileW,
342     MultiByteToWideChar,
343     MultinetGetConnectionPerformanceW,
344     OemToCharBuffW,
345     OemToCharW,
346     OleUIAddVerbMenuW,
347     OleUIBusyW,
348     OleUIChangeIconW,
349     OleUIChangeSourceW,
350     OleUIConvertW,
351     OleUIEditLinksW,
352     OleUIInsertObjectW,
353     OleUIObjectPropertiesW,
354     OleUIPasteSpecialW,
355     OleUIPromptUserW,
356     OleUIUpdateLinksW,
357     OpenEventW,
358     OpenFileMappingW,
359     OpenMutexW,
360     OpenPrinterW,
361     OpenSemaphoreW,
362     OpenWaitableTimerW,
363     OutputDebugStringW,
364     PageSetupDlgW,
365     PeekConsoleInputW,
366     PeekMessageW,
367     PlaySoundW,
368     PolyTextOutW,
369     PostMessageW,
370     PostThreadMessageW,
371     PrintDlgW,
372     QueryContextAttributesW,
373     QueryCredentialsAttributesW,
374     QueryDosDeviceW,
375     QuerySecurityPackageInfoW,
376     RasConnectionNotificationW,
377     RasCreatePhonebookEntryW,
378     RasDeleteEntryW,
379     RasDeleteSubEntryW,
380     RasDialW,
381     RasEditPhonebookEntryW,
382     RasEnumConnectionsW,
383     RasEnumDevicesW,
384     RasEnumEntriesW,
385     RasGetConnectStatusW,
386     RasGetEntryDialParamsW,
387     RasGetEntryPropertiesW,
388     RasGetErrorStringW,
389     RasGetProjectionInfoW,
390     RasHangUpW,
391     RasRenameEntryW,
392     RasSetEntryDialParamsW,
393     RasSetEntryPropertiesW,
394     RasSetSubEntryPropertiesW,
395     RasValidateEntryNameW,
396     ReadConsoleInputW,
397     ReadConsoleOutputCharacterW,
398     ReadConsoleOutputW,
399     ReadConsoleW,
400     RegConnectRegistryW,
401     RegCreateKeyExW,
402     RegCreateKeyW,
403     RegDeleteKeyW,
404     RegDeleteValueW,
405     RegEnumKeyExW,
406     RegEnumKeyW,
407     RegEnumValueW,
408     RegLoadKeyW,
409     RegOpenKeyExW,
410     RegOpenKeyW,
411     RegQueryInfoKeyW,
412     RegQueryMultipleValuesW,
413     RegQueryValueExW,
414     RegQueryValueW,
415     RegReplaceKeyW,
416     RegSaveKeyW,
417     RegSetValueExW,
418     RegSetValueW,
419     RegUnLoadKeyW,
420     RegisterClassExW,
421     RegisterClassW,
422     RegisterClipboardFormatW,
423     RegisterDeviceNotificationW,
424     RegisterWindowMessageW,
425     RemoveDirectoryW,
426     RemoveFontResourceW,
427     RemovePropA,
428     RemovePropW,
429     ReplaceTextW,
430     ResetDCW,
431     ResetPrinterW,
432     SHBrowseForFolderW,
433     SHChangeNotify ,
434     SHFileOperationW,
435     SHGetFileInfoW,
436     SHGetNewLinkInfoW,
437     SHGetPathFromIDListW,
438     ScrollConsoleScreenBufferW,
439     SearchPathW,
440     SendDlgItemMessageW,
441     SendMessageCallbackW,
442     SendMessageTimeoutW,
443     SendMessageW,
444     SendNotifyMessageW,
445     SetCalendarInfoW,
446     SetClassLongW,
447     SetComputerNameW,
448     SetConsoleTitleW,
449     SetCurrentDirectoryW,
450     SetDefaultCommConfigW,
451     SetDlgItemTextW,
452     SetEnvironmentVariableW,
453     SetFileAttributesW,
454     SetICMProfileW,
455     SetJobW,
456     SetLocaleInfoW,
457     SetMenuItemInfoW,
458     SetPrinterDataW,
459     SetPrinterW,
460     SetPropA,
461     SetPropW,
462     SetVolumeLabelW,
463     SetWindowLongA,
464     SetWindowLongW,
465     SetWindowTextW,
466     SetWindowsHookExW,
467     SetWindowsHookW,
468     ShellAboutW,
469     ShellExecuteExW ,
470     ShellExecuteW ,
471     Shell_NotifyIconW,
472     StartDocPrinterW,
473     StartDocW,
474     SystemParametersInfoW,
475     TabbedTextOutW,
476     TextOutW,
477     TranslateAcceleratorW,
478     UnregisterClassW,
479     UpdateICMRegKeyW,
480     UpdateResourceA,
481     UpdateResourceW,
482     VerFindFileW,
483     VerInstallFileW,
484     VerLanguageNameW,
485     VerQueryValueW,
486     VkKeyScanExW,
487     VkKeyScanW,
488     WNetAddConnection2W,
489     WNetAddConnection3W,
490     WNetAddConnectionW,
491     WNetCancelConnection2W,
492     WNetCancelConnectionW,
493     WNetConnectionDialog1W,
494     WNetDisconnectDialog1W,
495     WNetEnumResourceW,
496     WNetGetConnectionW,
497     WNetGetLastErrorW,
498     WNetGetNetworkInformationW,
499     WNetGetProviderNameW,
500     WNetGetResourceInformationW,
501     WNetGetResourceParentW,
502     WNetGetUniversalNameW ,
503     WNetGetUserW,
504     WNetOpenEnumW,
505     WNetUseConnectionW,
506     WaitNamedPipeW ,
507     WideCharToMultiByte,
508     WinHelpW,
509     WriteConsoleInputW,
510     WriteConsoleOutputCharacterW,
511     WriteConsoleOutputW,
512     WriteConsoleW,
513     WritePrivateProfileSectionW,
514     WritePrivateProfileStringW,
515     WritePrivateProfileStructW,
516     WriteProfileSectionW,
517     WriteProfileStringW,
518     auxGetDevCapsW,
519     capCreateCaptureWindowW,
520     capGetDriverDescriptionW,
521     joyGetDevCapsW,
522     lstrcatW,
523     lstrcmpW,
524     lstrcmpiW,
525     lstrcpyW,
526     lstrcpynW,
527     lstrlenW,
528     mciGetDeviceIDW,
529     mciGetErrorStringW,
530     mciSendCommandW,
531     mciSendStringW,
532     midiInGetDevCapsW,
533     midiInGetErrorTextW,
534     midiOutGetDevCapsW,
535     midiOutGetErrorTextW,
536     mixerGetControlDetailsW,
537     mixerGetDevCapsW,
538     mixerGetLineControlsW,
539     mixerGetLineInfoW,
540     mmioInstallIOProcW,
541     mmioOpenW,
542     mmioRenameW,
543     mmioStringToFOURCCW,
544     sndPlaySoundW,
545     waveInGetDevCapsW,
546     waveInGetErrorTextW,
547     waveOutGetDevCapsW,
548     waveOutGetErrorTextW,
549     wsprintfW,
550     wvsprintfW
551 };