fullUniName = ExAllocatePool( PagedPool, MAXPATHLEN*sizeof(WCHAR)+2*sizeof(ULONG)); if( !fullUniName ) { // // Out of memory // strcpy( fullname, "<INSUFFICIENT MEMORY>" ); ExFreePool( cmpname ); ExFreeToNPagedLookasideList( &FullPathLookaside, tmpname ); return; }
fullUniName->MaximumLength = MAXPATHLEN*sizeof(WCHAR); if( NT_SUCCESS(ObQueryNameString( pKey, fullUniName, MAXPATHLEN, &actualLen ) )) {
1: kd> dt nt!_UNICODE_STRING e1339008 "" +0x000 Length : 0 +0x002 MaximumLength : 0x800 +0x004 Buffer : (null)
上面所说有 fullUniName = ExAllocatePool( PagedPool, MAXPATHLEN*sizeof(WCHAR)+2*sizeof(ULONG));申请的内存 fullUniName(其类型为UNICODE_STRING)
我想问一下 申请后的fullUniName结构中Buffer存在的是缓冲的地址??? 还是????