| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // MeasurePageLoadTime.cpp : Implementation of DLL Exports. |
| |
| #include "stdafx.h" |
| #include "resource.h" |
| #include "MeasurePageLoadTime.h" |
| |
| |
| class CMeasurePageLoadTimeModule : public CAtlDllModuleT< CMeasurePageLoadTimeModule > |
| { |
| public : |
| DECLARE_LIBID(LIBID_MeasurePageLoadTimeLib) |
| DECLARE_REGISTRY_APPID_RESOURCEID(IDR_MEASUREPAGELOADTIME, "{56C6D9F9-643C-4F6E-906C-5F7CECB23C24}") |
| }; |
| |
| CMeasurePageLoadTimeModule _AtlModule; |
| |
| |
| #ifdef _MANAGED |
| #pragma managed(push, off) |
| #endif |
| |
| // DLL Entry Point |
| extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) |
| { |
| if (dwReason == DLL_PROCESS_ATTACH) |
| { |
| DisableThreadLibraryCalls(hInstance); |
| } |
| return _AtlModule.DllMain(dwReason, lpReserved); |
| } |
| |
| #ifdef _MANAGED |
| #pragma managed(pop) |
| #endif |
| |
| |
| |
| |
| // Used to determine whether the DLL can be unloaded by OLE |
| STDAPI DllCanUnloadNow(void) |
| { |
| return _AtlModule.DllCanUnloadNow(); |
| } |
| |
| |
| // Returns a class factory to create an object of the requested type |
| STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) |
| { |
| return _AtlModule.DllGetClassObject(rclsid, riid, ppv); |
| } |
| |
| |
| // DllRegisterServer - Adds entries to the system registry |
| STDAPI DllRegisterServer(void) |
| { |
| // registers object, typelib and all interfaces in typelib |
| HRESULT hr = _AtlModule.DllRegisterServer(); |
| return hr; |
| } |
| |
| |
| // DllUnregisterServer - Removes entries from the system registry |
| STDAPI DllUnregisterServer(void) |
| { |
| HRESULT hr = _AtlModule.DllUnregisterServer(); |
| return hr; |
| } |
| |