小弟我需要hook掉copyFile等一些系统api函数,小弟我的钩子需要如何设置

我需要hook掉copyFile等一些系统api函数,我的钩子需要怎么设置
我想要在打开文件,读取文件,复制文件时读取一些文件信息,进行过滤。钩子类型设置为WH_CALLWNDPROC,设置钩子与所有的进程相关联(全局钩子)这样子设置可否?临时抱佛脚看了一些资料,理解的不是很好。呵呵,大家帮帮忙拉

------解决方案--------------------
用detours
C/C++ code

DETOUR_TRAMPOLINE(BOOL WINAPI
                  Real_CopyFileW(
                  LPCWSTR lpExistingFileName,
                  LPCWSTR lpNewFileName,     
                  BOOL bFailIfExists         
                  ),CopyFileW);
BOOL WINAPI Replace_CopyFileW(
              LPCWSTR lpExistingFileName, // name of an existing file
              LPCWSTR lpNewFileName,      // name of new file
              BOOL bFailIfExists          // operation if file exists
)
{
  BOOL bret=Real_CopyFileW(lpExistingFileName,lpNewFileName,bFailIfExists);
  return bret;

}
void Intercept()
{
  DetourFunctionWithTrampoline((PBYTE)Real_CopyFileW, (PBYTE)Replace_CopyFileW);

}
void UnIntercept()
{
  DetourRemove( (PBYTE)Real_CopyFileW,(PBYTE)Replace_CopyFileW);
}

------解决方案--------------------
《Windows应用程序捆绑核心编程》中有个封装好的类,也有例子。如果急用就先用它。以后再看原理