|
|
1.1 ! root 1: /* ! 2: * DLLFUNCS.C ! 3: * ! 4: * Contains entry and exit points for the DLL implementation ! 5: * of the OLE 2.0 User Interface Support Library. ! 6: * ! 7: * This file is not needed if we are linking the static library ! 8: * version of this library. ! 9: * ! 10: * Copyright (c)1992 Microsoft Corporation, All Right Reserved ! 11: */ ! 12: ! 13: #define STRICT 1 ! 14: #include "ole2ui.h" ! 15: #include "common.h" ! 16: ! 17: OLEDBGDATA ! 18: ! 19: ! 20: /* ! 21: * LibMain ! 22: * ! 23: * Purpose: ! 24: * DLL-specific entry point called from LibEntry. Initializes ! 25: * the DLL's heap and registers the GizmoBar GizmoBar. ! 26: * ! 27: * Parameters: ! 28: * hInst HINSTANCE instance of the DLL. ! 29: * wDataSeg WORD segment selector of the DLL's data segment. ! 30: * wHeapSize WORD byte count of the heap. ! 31: * lpCmdLine LPSTR to command line used to start the module. ! 32: * ! 33: * Return Value: ! 34: * HANDLE Instance handle of the DLL. ! 35: * ! 36: */ ! 37: ! 38: #ifdef WIN32 ! 39: ! 40: extern BOOL WINAPI _CRT_INIT(HINSTANCE hInst, DWORD dwReason, LPVOID lpReserved); ! 41: extern _cexit(void); ! 42: int CALLBACK WEP(int); ! 43: ! 44: extern BOOL __stdcall LibMain ! 45: ( ! 46: HINSTANCE hInst, ! 47: ULONG Reason, ! 48: PCONTEXT Context ! 49: ) ! 50: { ! 51: UNREFERENCED_PARAMETER(Context); ! 52: if (Reason == DLL_PROCESS_DETACH) { ! 53: ! 54: _cexit(); // BUGBUG32 replace with call to CRT_INIT when it's fixed ! 55: ! 56: WEP(0); ! 57: return TRUE; ! 58: } ! 59: else if (Reason != DLL_PROCESS_ATTACH) ! 60: return TRUE; ! 61: ! 62: if (!_CRT_INIT(hInst,Reason,NULL)) ! 63: return FALSE; ! 64: ! 65: OleUIInitialize(hInst); ! 66: ! 67: return TRUE; ! 68: ! 69: } ! 70: ! 71: #else ! 72: ! 73: int FAR PASCAL LibMain(HINSTANCE hInst, WORD wDataSeg ! 74: , WORD cbHeapSize, LPSTR lpCmdLine) ! 75: { ! 76: OleDbgOut2("LibMain: OLE2UI.DLL loaded\r\n"); ! 77: ! 78: // TODO: ! 79: // Once we get the DLL and LIB versions of this library working, we need ! 80: // to take this call to OleUIInitialize (and OleUIUninitialize below) out ! 81: // because it is the app's responsibility to call these ! 82: ! 83: OleUIInitialize(hInst); ! 84: ! 85: //All done... ! 86: if (0!=cbHeapSize) ! 87: UnlockData(0); ! 88: ! 89: return (int)hInst; ! 90: } ! 91: ! 92: #endif ! 93: ! 94: /* ! 95: * WEP ! 96: * ! 97: * Purpose: ! 98: * Required DLL Exit function. ! 99: * ! 100: * Parameters: ! 101: * bSystemExit BOOL indicating if the system is being shut ! 102: * down or the DLL has just been unloaded. ! 103: * ! 104: * Return Value: ! 105: * void ! 106: * ! 107: */ ! 108: int CALLBACK EXPORT WEP(int bSystemExit) ! 109: { ! 110: OleUIUnInitialize(); ! 111: return 0; ! 112: } ! 113: ! 114: ! 115: ! 116: ! 117:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.