c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer/*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2001, 2004, 2007, 2016 Internet Systems Consortium, Inc. ("ISC")
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer *
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer */
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater/* $Id: DLLMain.c,v 1.6 2007/06/18 23:47:50 tbox Exp $ */
fd0ec4bfadb33a1b105cb5c371f748b1a9c95176Danny Mayer
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer#include <windows.h>
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer#include <signal.h>
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer/*
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer * Called when we enter the DLL
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer */
49549455317f93903b060405d087e33d0c65c2d9Andreas Gustafsson__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL,
49549455317f93903b060405d087e33d0c65c2d9Andreas Gustafsson DWORD fdwReason, LPVOID lpvReserved)
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer{
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews switch (fdwReason) {
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer /*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * The DLL is loading due to process
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * initialization or a call to LoadLibrary.
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_PROCESS_ATTACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer /* The attached process creates a new thread. */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_THREAD_ATTACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer /* The thread of the attached process terminates. */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_THREAD_DETACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer /*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * The DLL is unloading from a process due to
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * process termination or a call to FreeLibrary.
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_PROCESS_DETACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews default:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews }
49549455317f93903b060405d087e33d0c65c2d9Andreas Gustafsson return (TRUE);
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer}
c84e68d720a71d6087727b3dc504ba2ceebcb595Danny Mayer