1e369379766496d6088982a8e29679efa98d7df9Danny Mayer/*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2001, 2004, 2007, 2016 Internet Systems Consortium, Inc. ("ISC")
1e369379766496d6088982a8e29679efa98d7df9Danny 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/.
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer */
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater/* $Id: DLLMain.c,v 1.7 2007/06/18 23:47:49 tbox Exp $ */
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer#include <windows.h>
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer#include <stdio.h>
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer/*
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer * Called when we enter the DLL
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer */
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL,
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer DWORD fdwReason, LPVOID lpvReserved)
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer{
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews switch (fdwReason)
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews {
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * The DLL is loading due to process
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * initialization or a call to LoadLibrary.
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_PROCESS_ATTACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /* The attached process creates a new thread. */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_THREAD_ATTACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /* The thread of the attached process terminates. */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_THREAD_DETACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /*
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * The DLL is unloading from a process due to
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * process termination or a call to FreeLibrary.
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer */
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews case DLL_PROCESS_DETACH:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews default:
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews break;
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews }
49549455317f93903b060405d087e33d0c65c2d9Andreas Gustafsson return (TRUE);
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer}
1e369379766496d6088982a8e29679efa98d7df9Danny Mayer