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();