extern "C"
	{
		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;
	}
	NTSTATUS ntStatus = STATUS_SUCCESS;
	PDEVICE_OBJECT DeviceObject = NULL;
	ntStatus = ObReferenceObjectByName(&DeviceName, OBJ_CASE_INSENSITIVE, NULL, FILE_ALL_ACCESS, IoDeviceObjectType, KernelMode, NULL, (PVOID*)&DeviceObject);
	ObDereferenceObject(DeviceObject);

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐