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)

Posted by 울랄라베베

트랙백 보낼 주소 :: http://oasess.tistory.com/trackback/29

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

◀ PREV : [1] : [2] : [3] : [4] : [5] : ... [16] : NEXT ▶

BLOG main image
by 울랄라베베

공지사항

카테고리

분류 전체보기 (16)
Kernel programming (15)
User porgramming (1)
Etc... (0)

최근에 달린 댓글

최근에 받은 트랙백

태그목록

글 보관함

달력

«   2009/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Total : 3,333
Today : 0 Yesterday : 3