我是靠谱客的博主 失眠电话,最近开发中收集的这篇文章主要介绍ObReferenceObjectByName 函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这是一个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.


最后

以上就是失眠电话为你收集整理的ObReferenceObjectByName 函数的全部内容,希望文章能够帮你解决ObReferenceObjectByName 函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部