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:
WordPerfect9_3.cpp
Abstract:
WORDPERFECT 9 - Mapping Network Drives from Open / Save / Save As Dialogs:
Notes:
This is an application specific shim.
History:
02/21/2001 a-larrsh Created --*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(WordPerfect9_3) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN APIHOOK_ENUM_ENTRY(SHGetSpecialFolderLocation) APIHOOK_ENUM_END
// typedef HRESULT (WINAPI *_pfn_SHGetSpecialFolderLocation)(HWND hwndOwner, int nFolder, LPITEMIDLIST *ppidl);
/*++
Hook SHGetDesktopFolder to get the IShellFolder Interface Pointer.
--*/
HRESULT APIHOOK(SHGetSpecialFolderLocation)( HWND hwndOwner, int nFolder, LPITEMIDLIST *ppidl ) { if (hwndOwner == NULL && nFolder == 0x11 && (*ppidl) == NULL) { DWORD dwReturn = WNetConnectionDialog(hwndOwner, RESOURCETYPE_DISK);
switch(dwReturn) { case NO_ERROR: DPFN( eDbgLevelInfo, "Creating NETWORK CONNECTIONS dialog Successful"); break;
case ERROR_INVALID_PASSWORD: case ERROR_NO_NETWORK: case ERROR_EXTENDED_ERROR: DPFN( eDbgLevelWarning, "Creating NETWORK CONNECTIONS dialog Successful"); break;
case ERROR_NOT_ENOUGH_MEMORY: default: DPFN( eDbgLevelError, "Creating NETWORK CONNECTIONS dialog Failed"); break; }
return NOERROR; } else { return ORIGINAL_API(SHGetSpecialFolderLocation)(hwndOwner, nFolder, ppidl); } }
/*++
Register hooked functions
--*/
HOOK_BEGIN APIHOOK_ENTRY(SHELL32.DLL, SHGetSpecialFolderLocation) HOOK_END
IMPLEMENT_SHIM_END
|