阅读:3857回复:7
请问哪位用过zwFlushBuffersFile
我自己声明了函数原形,可是还是编译不过,其他的ntdll的函数都可以这样做,为什么这个不可以呢?
哪位大哥用过?帮忙指点一下 |
|
沙发#
发布于:2005-02-02 17:05
是在驱动里用吗,编译出错的提示信息是什么?
NTSYSAPI NTSTATUS NTAPI ZwFlushBuffersFile( IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock ); |
|
|
板凳#
发布于:2005-02-02 19:26
是在驱动中用
error LNK2001: unresolved external symbol __imp__ZwFlushBuffersFile@8 [编辑 - 2/2/05 by ttzwater] |
|
地板#
发布于:2005-02-03 12:27
If you are under XP, and 2000 I think, you can use the following code:
UNICODE_STRING Str; RtlInitUnicodeString(&Str, L"ZwFlushBuffersFile"); ZwFlushBuffersFile = MmGetSystemRoutineAddress(&Str); Remember to define the prototype and function pointer for ZwFlushBuffersFile. |
|
|
地下室#
发布于:2005-02-03 16:55
谢谢回复,我试一下先
|
|
5楼#
发布于:2005-02-03 17:01
If you are under XP, and 2000 I think, you can use the following code: 那是对于NTOSKRNL导出函数而言的,如果他没导出,你是无法通过DOCUMENT的方法来获得的..... |
|
|
6楼#
发布于:2005-02-03 17:23
那有什么其他办法吗? |
|
7楼#
发布于:2010-10-14 11:51
#if (NTDDI_VERSION >= NTDDI_VISTA)
__drv_maxIRQL(PASSIVE_LEVEL) NTSYSAPI NTSTATUS ZwFlushBuffersFile( __in HANDLE FileHandle, __out PIO_STATUS_BLOCK IoStatusBlock ); #endif 看清了!只有在vista以后才能使用 |
|