Source code of Windows XP (NT5)
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.
|
|
#include "precomp.h"
#include <shlwapi.h> // for DllInstall prototype
#include "advpub.h"
#define GUID_STR_LEN 40
// global variables
HINSTANCE hInstance;
STDAPI DllUnregisterServer(void) { // This DLL does not need to unregister anything now.
// So, we simply return success here.
return NOERROR; }
STDAPI DllRegisterServer(void) {
// This DLL does not need to register anything now.
// So, we simply return success here.
return NOERROR; }
EXTERN_C BOOL DllInitialize(IN PVOID hmod, IN ULONG ulReason, IN PCONTEXT pctx OPTIONAL) { UNREFERENCED_PARAMETER(pctx); if (ulReason == DLL_PROCESS_ATTACH) { hInstance = (HINSTANCE) hmod; DisableThreadLibraryCalls(hInstance); SHFusionInitializeFromModuleID(hInstance, 124); #ifdef DEBUG
CcshellGetDebugFlags(); #endif
} else if (ulReason == DLL_PROCESS_DETACH) { #ifdef DEBUG
DeskCheckForLeaks(); #endif
SHFusionUninitialize(); }
return TRUE; }
BOOL APIENTRY DllMain(IN HANDLE hDll, IN DWORD dwReason, IN LPVOID lpReserved) { ASSERT(0); return TRUE; }
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) { // No Com object is registered by this DLL. So, let's fail!
*ppv = NULL; return CLASS_E_CLASSNOTAVAILABLE;; }
STDAPI DllCanUnloadNow(void) { return S_OK; }
|