NTSTATUS ntStatus;
PDEVICE_OBJECT pTargetDevObj = NULL;
POBJECT_NAME_INFORMATION pTargetName;
WCHAR rgNameBuffer[1024 + 4] = {0, };
DWORD nReturnBytes;
pTargetDevObj = (PDEVICE_OBJECT)0xXXXXXXXX; // The address of the target _DEVICE_OBJECT
pTargetName = (POBJECT_NAME_INFORMATION)rgNameBuffer;
ntStatus = ObQueryNameString( pTargetDevObj,
pTargetName,
sizeof(rgNameBuffer),
&nReturnBytes );
if (!NT_SUCCESS(ntStatus))
{
// handle error
// if STATUS_INFO_LENGTH_MISMATCH returns :
//
// The buffer pointed to by ObjectNameInfo is too small
// to hold the requested object name information.
// ReturnLength points to the required buffer size.
// In this case, no object name information is returned.
// This is an error code.
}
// DeviceName : pTargetName.Name.Buffer (It's an UNICODE_STRING)

by 울랄라베베
공지사항
최근에 올라온 글
최근에 달린 댓글
최근에 받은 트랙백
태그목록
달력
링크
Total : 3,333
Today : 0 Yesterday : 3
Today : 0 Yesterday : 3
이올린에 북마크하기