RtlCmDecodeMemIoResource
ULONGLONG __stdcall RtlCmDecodeMemIoResource(PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor, PULONGLONG Start){
ULONGLONG Length;
unsigned __int16 Flags;
Length = 0i64;
if( ((Descriptor->Type - 1) & 0xFD) != 0 )
{
Flags = Descriptor->Flags;
if( (Flags & 0x200) != 0 )
{
Length = (unsigned __int64)Descriptor->u.Length << 8;
}
else if( (Flags & 0x400) != 0 )
{
Length = (unsigned __int64)Descriptor->u.Length << 16;
}
else if( (Flags & 0x800) != 0 )
{
Length = (unsigned __int64)Descriptor->u.Length << 32;
}
}
else
{
Length = Descriptor->u.Length;
}
if( Start )
*Start = Descriptor->u.Start.QuadPart;
return Length;
}Referenced by:
IopGenericUnpackResource
PnpCmResourcesToIoResources
PnpFilterResourceRequirementsList
PnpIsRangeWithin
PnprAddMemoryResources