summaryrefslogtreecommitdiffstats
path: root/private/oleutest/letest/ole2ui/dllfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'private/oleutest/letest/ole2ui/dllfuncs.c')
-rw-r--r--private/oleutest/letest/ole2ui/dllfuncs.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/private/oleutest/letest/ole2ui/dllfuncs.c b/private/oleutest/letest/ole2ui/dllfuncs.c
new file mode 100644
index 000000000..283ca9d67
--- /dev/null
+++ b/private/oleutest/letest/ole2ui/dllfuncs.c
@@ -0,0 +1,110 @@
+/*
+ * DLLFUNCS.C
+ *
+ * Contains entry and exit points for the DLL implementation
+ * of the OLE 2.0 User Interface Support Library.
+ *
+ * This file is not needed if we are linking the static library
+ * version of this library.
+ *
+ * Copyright (c)1992 Microsoft Corporation, All Right Reserved
+ */
+
+#define STRICT 1
+#include "ole2ui.h"
+#include "uiclass.h"
+#include "common.h"
+
+OLEDBGDATA_MAIN("ole2u32a")
+
+
+/*
+ * LibMain
+ *
+ * Purpose:
+ * DLL-specific entry point called from LibEntry. Initializes
+ * the DLL's heap and registers the GizmoBar GizmoBar.
+ *
+ * Parameters:
+ * hInst HINSTANCE instance of the DLL.
+ * wDataSeg WORD segment selector of the DLL's data segment.
+ * wHeapSize WORD byte count of the heap.
+ * lpCmdLine LPSTR to command line used to start the module.
+ *
+ * Return Value:
+ * HANDLE Instance handle of the DLL.
+ *
+ */
+
+#ifdef WIN32
+
+BOOL _cdecl LibMain(
+ HINSTANCE hDll,
+ DWORD dwReason,
+ LPVOID lpvReserved)
+{
+ if (dwReason == DLL_PROCESS_ATTACH)
+ {
+ // Initialize OLE UI libraries. If you're linking with the static
+ // LIB version of this library, you need to make the below call in
+ // your application (because this LibMain won't be executed).
+ OleUIInitialize(hDll, (HINSTANCE)0, SZCLASSICONBOX, SZCLASSRESULTIMAGE);
+ }
+ else if (dwReason == DLL_PROCESS_DETACH)
+ {
+ OleUIUnInitialize();
+ }
+
+ return TRUE;
+}
+
+#else
+
+int FAR PASCAL LibMain(HINSTANCE hInst, WORD wDataSeg
+ , WORD cbHeapSize, LPTSTR lpCmdLine)
+ {
+ OleDbgOut2(TEXT("LibMain: OLE2UI.DLL loaded\r\n"));
+
+ // Initialize OLE UI libraries. If you're linking with the static LIB version
+ // of this library, you need to make the below call in your application (because
+ // this LibMain won't be executed).
+
+ // The symbols SZCLASSICONBOX and SZCLASSRESULTIMAGE are both defined
+ // in uiclass.h
+
+ OleUIInitialize(hInst, (HINSTANCE)0, TEXT(SZCLASSICONBOX), TEXT(SZCLASSRESULTIMAGE));
+
+ //All done...
+ if (0!=cbHeapSize)
+ UnlockData(0);
+
+ return (int)hInst;
+ }
+
+#endif
+
+/*
+ * WEP
+ *
+ * Purpose:
+ * Required DLL Exit function.
+ *
+ * Parameters:
+ * bSystemExit BOOL indicating if the system is being shut
+ * down or the DLL has just been unloaded.
+ *
+ * Return Value:
+ * void
+ *
+ */
+int CALLBACK EXPORT WEP(int bSystemExit)
+{
+ OleUIUnInitialize();
+ return 0;
+}
+
+
+
+
+
+