Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*--------------------------------------------------------------------------*
* * Microsoft Windows * Copyright (C) Microsoft Corporation, 1992 - 00 * * File: mmcbase.cpp * * Contents: Main entry point for mmcbase.dll * * History: 7-Jan-2000 jeffro Created * *--------------------------------------------------------------------------*/
#include "stdafx.h"
#include "atlimpl.cpp"
#include "atlwin.cpp"
static SC ScInitAsMFCExtensionModule (HINSTANCE hInstance);
// the one and only instance.
CComModule _Module;
/*+-------------------------------------------------------------------------*
* * DllMain * * PURPOSE: The main DLL entry point * * PARAMETERS: * HANDLE hModule : * DWORD dwReason : * LPVOID lpReserved : * * RETURNS: * BOOL APIENTRY * *+-------------------------------------------------------------------------*/ BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { if (dwReason == DLL_PROCESS_ATTACH) { // set the module instance for error codes.
SC::SetHinst(hInstance);
/*
* attach this module to MFC's resource search path */ if (ScInitAsMFCExtensionModule(hInstance).IsError()) return (FALSE); // bail out
_Module.Init(NULL, hInstance); DisableThreadLibraryCalls(hInstance); } else if (dwReason == DLL_PROCESS_DETACH) { _Module.Term(); }
return TRUE; // ok
}
/*+-------------------------------------------------------------------------*
* ScInitAsMFCExtensionModule * * Initializes this module as an MFC extension. This is required so MFC * code will automatically search this module for resources (in particular, * strings). *--------------------------------------------------------------------------*/
static SC ScInitAsMFCExtensionModule (HINSTANCE hInstance) { DECLARE_SC (sc, _T("ScInitAsMFCExtensionModule"));
/*
* extensionDLL must be static so it lives as long as dynLinkLib below */ static AFX_EXTENSION_MODULE extensionDLL = { 0 };
if (!AfxInitExtensionModule (extensionDLL, hInstance)) return (sc = E_FAIL);
/*
* Declare a static CDynLinkLibrary for MMC. Its constructor will * add it to the list of modules MFC will search for resources. It * must be static so it will live as long as MMC. */ new CDynLinkLibrary (extensionDLL);
return (sc); }
|