Debug::TProcessListEntry Class Reference

class Debug::TProcessListEntry

Structure used for extracting data from a descriptor returned by a call to RSecuritySvrSession::GetList() when GetList() is called with TListId::EProcesses as the first argument.

RSecuritySvrSession::GetList()
//buffer is a TDesC8 containing 4-byte aligned TProcessListEntry objects
//create a pointer to the start of the data
TUint8* ptr = (TUint8*)buffer.Ptr();
//create a pointer to the end of the data
const TUint8* ptrEnd = ptr + buffer.Length();
while(ptr < ptrEnd)
	{
	//cast the pointer to be a TProcessListEntry object
	TProcessListEntry& entry = *(TProcessListEntry*)ptr;
	//use the TProcessListEntry pointer, i.e.
	TUint16 fileNameLength = entry.iFileNameLength;
	TPtr name(&(entry.iNames[0]), fileNameLength, fileNameLength);
	// move ptr on to point to the next TProcessListEntry object
	ptr += Align4(entry.GetSize());
	}

Member Functions Documentation

GetSize()

TInt GetSize()const [inline]

Returns the size of the TProcessListEntry, including the file name length and the dynamic name length

Member Data Documentation

TInt iAttributes

TInt iAttributes

Process Attributes DProcess::TProcessAttributes

TUint16 iDynamicNameLength

TUint16 iDynamicNameLength

Length of current dynamic name of the process in bytes

TUint16 iFileNameLength

TUint16 iFileNameLength

Length of fully qualified file name of the process in bytes. Note that this entry may be 0 if the process is in the process of shutting down.

TUint16 iNames

TUint16 iNames

First two bytes of the process' file name, the name should be considered to extend past the end of the TProcessListEntry structure to a length corresponding to iFileNameLength. Directly after the data corresponding to the file name, the dynamic name is stored with a length of iDynamicNameLength characters. Note that these names are not null terminated and are concatenated directly after each other.

 TProcessListEntry& entry; // entry is a reference to a TProcessListEntry

 //get the file name..
 TPtr fileName(&(entry.iNames[0]), iFileNameLength, iFileNameLength);

 //get the dynamic name length..
 TPtr dynamicName(&(entry.iNames[0]) + iFileNameLength, iDynamicNameLength, iDynamicNameLength);

TUint64 iProcessId

TUint64 iProcessId

Process ID

TUint32 iUid3

TUint32 iUid3

The Uid3 of the process