Leaked source code of windows server 2003
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.
 
 
 
 
 
 

146 lines
2.3 KiB

/*
Copyright (c) 1999, Microsoft Corporation, all rights reserved
Description:
Implementation of DLL Exports.
*/
#include <windows.h>
#include <lmcons.h>
#include <raseapif.h>
#include <rtutils.h>
#include "ceapcfg.h"
#include <initguid.h>
#include <atlimpl.cpp>
extern "C"
{
extern DWORD g_dwEapTraceId;
extern HINSTANCE g_hInstance;
}
CComModule _Module;
const IID IID_IEAPProviderConfig = {
0x66A2DB19,
0xD706,
0x11D0,
{0xA3, 0x7B, 0x00, 0xC0, 0x4F, 0xC9, 0xDA, 0x04}
};
// Define the EAP UI GUIDs here
const CLSID CLSID_EapCfg = { /* 3b9aae60-a032-11d2-95f6-00104b98f3f5 */
0x3b9aae60,
0xa032,
0x11d2,
{0x95, 0xf6, 0x00, 0x10, 0x4b, 0x98, 0xf3, 0xf5}
};
BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_EapCfg, CEapCfg)
END_OBJECT_MAP()
/*
Notes:
DLL Entry Point
*/
extern "C"
BOOL WINAPI
DllMain(
HINSTANCE hInstance,
DWORD dwReason,
LPVOID /*lpReserved*/
)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
g_hInstance = hInstance;
g_dwEapTraceId = TraceRegister(L"SampleEAP");
_Module.Init(ObjectMap, hInstance);
DisableThreadLibraryCalls(hInstance);
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TraceDeregister(g_dwEapTraceId);
g_dwEapTraceId = INVALID_TRACEID;
_Module.Term();
}
return(TRUE);
}
/*
Notes:
Used to determine whether the DLL can be unloaded by OLE
*/
STDAPI
DllCanUnloadNow(
VOID
)
{
if (0 == _Module.GetLockCount())
{
return(S_OK);
}
else
{
return(S_FALSE);
}
}
/*
Notes:
Returns a class factory to create an object of the requested type
*/
STDAPI
DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv
)
{
return(_Module.GetClassObject(rclsid, riid, ppv));
}
/*
Notes:
Adds entries to the system registry. Registers object, typelib and all
interfaces in typelib
*/
STDAPI
DllRegisterServer(
VOID
)
{
return(_Module.RegisterServer(FALSE /* bRegTypeLib */));
}
/*
Notes:
Removes entries from the system registry
*/
STDAPI
DllUnregisterServer(
VOID
)
{
_Module.UnregisterServer();
return(S_OK);
}