DllEntry.cpp Source File

DllEntry / xfrefutil

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DllEntry.cpp

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<

00003     FILE: DllEntry.cpp

00004 
00005     DESCRIPTION:Contains the Dll Entry stuff

00006 
00007     CREATED BY: 

00008 
00009     HISTORY: 

00010 
00011  *> Copyright (c) 1997, All Rights Reserved.

00012  **********************************************************************/
00013 #include "xrefutil.h"
00014 
00015 extern ClassDesc2* GetXrefutilDesc();
00016 
00017 HINSTANCE hInstance;
00018 int controlsInit = FALSE;
00019 
00020 // This function is called by Windows when the DLL is loaded.  This 
00021 // function may also be called many times during time critical operations
00022 // like rendering.  Therefore developers need to be careful what they
00023 // do inside this function.  In the code below, note how after the DLL is
00024 // loaded the first time only a few statements are executed.
00025 
00026 BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved)

00027 {
00028     hInstance = hinstDLL;               // Hang on to this DLL's instance handle.
00029 
00030     if (!controlsInit) {
00031         controlsInit = TRUE;
00032         InitCustomControls(hInstance);  // Initialize MAX's custom controls
00033         InitCommonControls();           // Initialize Win95 controls
00034     }
00035             
00036     return (TRUE);
00037 }
00038 
00039 // This function returns a string that describes the DLL and where the user
00040 // could purchase the DLL if they don't have it.
00041 __declspec( dllexport ) const TCHAR* LibDescription()

00042 {
00043     return GetString(IDS_LIBDESCRIPTION);
00044 }
00045 
00046 // This function returns the number of plug-in classes this DLL
00047 //TODO: Must change this number when adding a new class
00048 __declspec( dllexport ) int LibNumberClasses()

00049 {
00050     return 1;
00051 }
00052 
00053 // This function returns the number of plug-in classes this DLL
00054 __declspec( dllexport ) ClassDesc* LibClassDesc(int i)

00055 {
00056     switch(i) {
00057         case 0: return GetXrefutilDesc();
00058         default: return 0;
00059     }
00060 }
00061 
00062 // This function returns a pre-defined constant indicating the version of 
00063 // the system under which it was compiled.  It is used to allow the system
00064 // to catch obsolete DLLs.
00065 __declspec( dllexport ) ULONG LibVersion()

00066 {
00067     return VERSION_3DSMAX;
00068 }
00069 
00070 TCHAR *GetString(int id)

00071 {
00072     static TCHAR buf[256];
00073 
00074     if (hInstance)
00075         return LoadString(hInstance, id, buf, sizeof(buf)) ? buf : NULL;
00076     return NULL;
00077 }
00078 

Generated at Mon Nov 6 14:11:58 2000 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000