阅读:1351回复:2
何时才能使用ZwCreateFile创建文件
各位老大,我写了一个NDIS的驱动,想在驱动里面写文件,但发现如果在DriverEntry里面写文件的话,会导致系统死在那里,无法下去,如果在后面定时器中写文件的话,要等一会儿才能创建成功。请教各位大虾,是否创建文件要有一定的时序,我应该在何时创建?下面是我创建文件的代码,供参考。
HANDLE hCacheFile = NULL; WCHAR wcFileName[MAX_PATH]; memset(wcFileName,0,sizeof(wcFileName)); swprintf(wcFileName,L"\\??\\d:\test.cth"); RtlInitUnicodeString(&usname, wcFileName); InitializeObjectAttributes(&oa, &usname, OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE , NULL, NULL); status = ZwCreateFile(&hCacheFile, GENERIC_READ|GENERIC_WRITE, &oa, &iostatus, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_WRITE|FILE_SHARE_READ, FILE_OVERWRITE_IF, FILE_SYNCHRONOUS_IO_NONALERT|FILE_NO_INTERMEDIATE_BUFFERING, NULL, 0); if(!NT_SUCCESS(status)) { //STATUS_INVALID_PARAMETER DbgPrint("\n ZwCreateFile=%d,iostatus=%d",status,iostatus.Information); return FALSE; } |
|
沙发#
发布于:2009-04-17 10:52
是不是需要在什么服务启动之后才能写?
|
|
板凳#
发布于:2009-04-20 17:12
是不是和Boot File System组有一定的关系?
|
|