One of the reasons why @TsudaKageyu was adding the offset parameters is to avoid cases like this. You can simply do:

    d->formatID              = data.toUInt32LE(4);

This avoids having to do any memory copy.