2 * COMMDLG/COMDLG32 functions
4 * Copyright 1994 Martin Ayotte
5 * Copyright 1996 Albrecht Kleine
6 * Copyright 1998,1999 Bertho Stultiens
7 * Copyright 1999 Klaas van Gend
12 #include "debugtools.h"
14 DEFAULT_DEBUG_CHANNEL(commdlg)
18 HINSTANCE16 COMMDLG_hInstance = 0;
19 HINSTANCE COMMDLG_hInstance32 = 0;
20 static int COMMDLG_Attach = 0;
22 /***********************************************************************
23 * COMMDLG_DllEntryPoint [COMMDLG.entry]
25 * Initialization code for the COMMDLG DLL
29 BOOL WINAPI COMMDLG_DllEntryPoint(DWORD Reason, HINSTANCE16 hInst, WORD ds, WORD HeapSize, DWORD res1, WORD res2)
31 TRACE("(%08lx, %04x, %04x, %04x, %08lx, %04x)\n", Reason, hInst, ds, HeapSize, res1, res2);
34 case DLL_PROCESS_ATTACH:
38 ERR("commdlg.dll instantiated twice!\n");
40 * We should return FALSE here, but that will break
41 * most apps that use CreateProcess because we do
42 * not yet support seperate address-spaces.
47 COMMDLG_hInstance = hInst;
48 if(!COMMDLG_hInstance32)
50 if(!(COMMDLG_hInstance32 = LoadLibraryA("comdlg32.dll")))
52 ERR("Could not load sibling comdlg32.dll\n");
58 case DLL_PROCESS_DETACH:
61 COMMDLG_hInstance = 0;
62 if(COMMDLG_hInstance32)
63 FreeLibrary(COMMDLG_hInstance32);
71 /***********************************************************************
72 * CommDlgExtendedError16 [COMMDLG.26]
74 * Get the last error value if a commdlg function fails.
76 * Current error value which might not be valid
77 * if a previous call succeeded.
79 DWORD WINAPI CommDlgExtendedError16(void)
81 return CommDlgExtendedError();