阅读:1520回复:4
ZwCreateFile和ZwOpenFile使用
那位大侠,给举例说明在驱动中ZwCreateFile和ZwOpenFile使用的使用,(我想打开一个文件并读出文件中的数据到一个非分页缓冲区)
|
|
沙发#
发布于:2004-09-15 08:51
IO_STATUS_BLOCK IoStatus;
OBJECT_ATTRIBUTES objectAttributes; NTSTATUS status; HANDLE FileHandle; UNICODE_STRING fileName; fileName.Length = 0; fileName.MaximumLength = sizeof(DEFAULT_LOG_FILE_NAME) + sizeof(UNICODE_NULL); fileName.Buffer = ExAllocatePool(PagedPool, RtlZeroMemory(fileName.Buffer, fileName.MaximumLength); status = RtlAppendUnicodeToString(&fileName, (PWSTR)L"\\??\\C:\\data.log"); InitializeObjectAttributes (&objectAttributes, (PUNICODE_STRING)&fileName, OBJ_CASE_INSENSITIVE, NULL, NULL ); status = ZwCreateFile( &FileHandle, FILE_APPEND_DATA, &objectAttributes, &IoStatus, 0, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_WRITE, FILE_OPEN_IF, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 ); [编辑 - 9/15/04 by snowStart] |
|
|
板凳#
发布于:2004-09-15 08:54
斜杠怎么总不对呢,这次呢
status = RtlAppendUnicodeToString(&fileName, (PWSTR)L"\\\\??\\\\C:\\\\data.log"); |
|
|
地板#
发布于:2004-09-15 11:14
我原来以为可以随便给分,现在才发现只能给20分,不好意思,我想其他办法把分给你发过去,谢谢!
|
|
地下室#
发布于:2004-09-16 09:27
为什么文件路径的最前面要加\\??\\呢?!
|
|