you also can use ins.read:
{
    UINT32 value = 0;
    ins.read( reinterpret_cast< char* >( &value ), sizeof( UINT32 ) );
    return value;
}