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.
|
|
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
EasyCDCreator4.cpp
Abstract:
Prevent the uninstall program from deleting the whole HKCR\Drive\ShellEx\ContextMenuHandlers key.
Notes:
This is an app specific shim.
History:
06/10/2001 maonis Created
--*/
#include "precomp.h"
#include "strsafe.h"
IMPLEMENT_SHIM_BEGIN(EasyCDCreator4) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN APIHOOK_ENUM_ENTRY(RegOpenKeyA) APIHOOK_ENUM_END
/*++
Return failure to this call so it doesn't attempt to delete the subkeys.
--*/
LONG APIHOOK(RegOpenKeyA)( HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult ) { if (hKey == HKEY_CLASSES_ROOT && !strcmp(lpSubKey, "Drive")) { // We delete the key that the app created manually.
RegDeleteKeyA( HKEY_CLASSES_ROOT, "Drive\\shellex\\ContextMenuHandlers\\{df987040-eac5-11cf-bc30-444553540000}");
return 1; } else { return ORIGINAL_API(RegOpenKeyA)(hKey, lpSubKey, phkResult); } }
/*++
Register hooked functions
--*/
HOOK_BEGIN
APIHOOK_ENTRY(ADVAPI32.DLL, RegOpenKeyA)
HOOK_END
IMPLEMENT_SHIM_END
|