createfile打开失败的问题??
#include <iostream.h>
#define _WIN32_WINNT 0x0500
#include <windows.h>
int main(int argc, char *argv[])
{
HANDLE hDirectory = CreateFile("D:\\", GENERIC_ALL, FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE, NULL
, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hDirectory) //现在是在这里出了鬼,老是无效句柄
{
cout << "create file failed!" << endl;
DWORD dwErr = GetLastError();
return -1;
}
while (TRUE)
{
Sleep(1000);
FILE_NOTIFY_INFORMATION stFileNotifyInfo = {0};
DWORD dwBytesRet = 0;
BOOL bRet = ReadDirectoryChangesW(
hDirectory,
&stFileNotifyInfo,
sizeof (FILE_NOTIFY_INFORMATION),
TRUE,
FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME|FILE_NOTIFY_CHANGE_ATTRIBUTES|FILE_NOTIFY_CHANGE_SIZE|FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_LAST_ACCESS|FILE_NOTIFY_CHANGE_CREATION|FILE_NOTIFY_CHANGE_SECURITY,
&dwBytesRet,
NULL,
NULL
);
if (bRet)
{
cout << "change occour!" << endl;
}
}
CloseHandle(hDirectory);
return 0;
}
我想写个文件监控程序,我首先要用createfile打开一个文件,得到handle,然后再ReadDirectoryChangesW,传递这个handle进去,但是我现在createfile打开directory死活成功不了,错误号老是3,无法识别路径,出了鬼了,请各位帮忙看看,谢谢了.