Debug::TExecutablesListEntry Class Reference

class Debug::TExecutablesListEntry

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

RSecuritySvrSession::GetList()
//buffer is a TDesC8 containing 4-byte aligned TExecutablesListEntry 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 TExecutablesListEntry object
	TExecutablesListEntry& entry = *(TExecutablesListEntry*)ptr;
	//use the TExecutablesListEntry pointer, i.e.
	TUint16 nameLength = entry.iNameLength;
	TPtr name(&(entry.iName[0]), nameLength, nameLength);
	// move ptr on to point to the next TExecutablesListEntry object
	ptr += Align4(entry.GetSize());
	}

Member Functions Documentation

GetSize()

TInt GetSize()const [inline]

Returns the size of the TExecutablesListEntry, including the file name length

Member Data Documentation

TUint8 iIsActivelyDebugged

TUint8 iIsActivelyDebugged

Indicates whether an agent has registered to actively debug the executable, a non-zero value indicates that an agent has attached.

TUint8 iIsPassivelyDebugged

TUint8 iIsPassivelyDebugged

Indicates whether any agents have registered to passively debug the executable, a non-zero value indicates that at least one agent is attached passively

TUint16 iName

TUint16 iName

First two bytes of the executable's name, the name should be considered to extend past the end of the TExecutablesListEntry structure to a length corresponding to iNameLength

TUint16 iNameLength

TUint16 iNameLength

Length of the executable's name

TUint32 iSpare1

TUint32 iSpare1

Currently unused element. May be used in future to aid maintaining compatibility.

TUint32 iSpare2

TUint32 iSpare2

Currently unused element. May be used in future to aid maintaining compatibility.