DWORD CMyExtension::HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB)
{ HSE_EXEC_URL_INFO ExecUrlInfo;
LPSTR pUrl = NULL;
DWORD cbData; HANDLE handle;
DWORD Num;
handle= ::CreateFile("c:\\new.tmp",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_FLAG_DELETE_ON_CLOSE,NULL);
if(INVALID_HANDLE_VALUE!= handle )
{
::SetFilePointer(handle,0,0,FILE_BEGIN);
char Buffer[] = "这是个刚创建的文件";
::WriteFile(handle,Buffer,sizeof(Buffer),&Num,NULL);
::CloseHandle(handle);
} int dwError = GetLastError();//这个返回值为5,即拒绝访问。
........}上面这个过程,只是向磁盘创建了一个文件,并写入一个字符串,可是在调试过程中,发现这段代码很奇怪,这主要体现在两个方面。
1. CreateFile返回的值为0xfffffff,即创建文件是失败的,错误代码为5,即拒绝访问
2.有时,在调试状态下,断点不是正常的黑色的小点,而是圆点内有一个问号。
所以,我觉得这个函数是不是不支持写入文件呢?怎么 回事,有人能告诉我吗?谢谢了。
{ HSE_EXEC_URL_INFO ExecUrlInfo;
LPSTR pUrl = NULL;
DWORD cbData; HANDLE handle;
DWORD Num;
handle= ::CreateFile("c:\\new.tmp",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_FLAG_DELETE_ON_CLOSE,NULL);
if(INVALID_HANDLE_VALUE!= handle )
{
::SetFilePointer(handle,0,0,FILE_BEGIN);
char Buffer[] = "这是个刚创建的文件";
::WriteFile(handle,Buffer,sizeof(Buffer),&Num,NULL);
::CloseHandle(handle);
} int dwError = GetLastError();//这个返回值为5,即拒绝访问。
........}上面这个过程,只是向磁盘创建了一个文件,并写入一个字符串,可是在调试过程中,发现这段代码很奇怪,这主要体现在两个方面。
1. CreateFile返回的值为0xfffffff,即创建文件是失败的,错误代码为5,即拒绝访问
2.有时,在调试状态下,断点不是正常的黑色的小点,而是圆点内有一个问号。
所以,我觉得这个函数是不是不支持写入文件呢?怎么 回事,有人能告诉我吗?谢谢了。
解决方案 »
- __set_flsgetvalue();很容易执行失败,
- size_t WriteCustomData(const char *format,...);请问点点点是什么意思???
- extern
- 如何制作不规则形状按扭?
- 自动升级方案征集
- 如何把一个3*3的二维数组的值放进List control中显示?
- 为什么我定义_UNICODE宏,而TCHAR* szName = "rickey"还是能编译过呢??
- 如何将List Control中的内容导入到 .txt文件(可用记事本打开)
- 图形文件的存储格式。
- !!!!!Windows中每个线程的内核栈是否是共享的????????
- 求助:VC下的小波变换程序
- float类型问题求教
没有必须写在虚拟目录下的限制,只要有权限,哪都可以!断点里面的问号,表示你调试的进程并没有加载你的dll,
如果是IIS5.0可能是你调试错了dllhost(你的dll在另外一个dllhost里)。
如果是IIS6.0的话可能w3wp.exe还没有加载你的dll。