ObReferenceObjectByName 函数
2012-08-03 17:05
369 查看
这是一个DDK未公开的内核函数,DDK的所有.h头文件中没有关于这个函数的声明,因此不可能通过包含某个头文件后就能使用,需要自己声明.C++中如下声明:
#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include <NTDDK.h>
NTKERNELAPI
NTSTATUS
ObReferenceObjectByName(
IN PUNICODE_STRING ObjectName,
IN ULONG Attributes,
IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess OPTIONAL,
IN POBJECT_TYPE ObjectType,
IN KPROCESSOR_MODE AccessMode,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *Object
);
extern POBJECT_TYPE IoDeviceObjectType;
#ifdef __cplusplus
}
#endif
ObReferenceObjectByName 函数可以通过对象名字得到包括设备对象在内的各种内核对象的指针,比如内核事件,互斥体对象等.他会增加内核对象的引用计数,使用完内核对象后要用ObDereferenceObject内核函数将引用计数减1.
记得 extern POBJECT_TYPE IoDeviceObjectType;
这句也是声明的一部分,不能丢写,也不能写在别的地方。
#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include <NTDDK.h>
NTKERNELAPI
NTSTATUS
ObReferenceObjectByName(
IN PUNICODE_STRING ObjectName,
IN ULONG Attributes,
IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess OPTIONAL,
IN POBJECT_TYPE ObjectType,
IN KPROCESSOR_MODE AccessMode,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *Object
);
extern POBJECT_TYPE IoDeviceObjectType;
#ifdef __cplusplus
}
#endif
ObReferenceObjectByName 函数可以通过对象名字得到包括设备对象在内的各种内核对象的指针,比如内核事件,互斥体对象等.他会增加内核对象的引用计数,使用完内核对象后要用ObDereferenceObject内核函数将引用计数减1.
记得 extern POBJECT_TYPE IoDeviceObjectType;
这句也是声明的一部分,不能丢写,也不能写在别的地方。
相关文章推荐
- 通过驱动名称得到(T雪工具)驱动对象名_ObReferenceObjectByName_函数的用法
- ObReferenceObjectByName 函数
- ObReferenceObjectByName 函数解析
- ObReferenceObjectByName 函数解析
- note : ObReferenceObjectByName usage
- [转载]关于驱动中的ObReferenceObjectByName 和 IoGetDeviceObjectPointer
- ObReferenceObjectByName蓝屏问题
- 过滤/ObReferenceObjectByName/XT
- ObReferenceObjectByName通过对象名得到对象指针_例如 设备 事件 互斥体
- 函数......ObReferenceObjectByHandle
- [转载]关于驱动中的ObReferenceObjectByName 和 IoGetDeviceObjectPointer
- ObReferenceObjectByName vs IoGetDeviceObjectPointer
- ObReferenceObjectByHandle() 函数简略分析
- ObReferenceObjectByName蓝屏问题
- IoGetDeviceObjectPointer和ObReferenceObjectByName得到设备对象指针
- ObReferenceObjectByName的使用
- 蛋疼的ObReferenceObjectByName调试
- ObReferenceObjectByName
- Inline hook ObReferenceObjectByHandle,附加问题笔记做记录
- ObReferenceObjectByName函数调用WIN7下的解决