Solution 8-) Finally I have found a solution: I added an alignment before some structures: __declspec(align(8)) typedef struct { float iso_speed; float shutter; float aperture; float focal_len; time_t timestamp; unsigned shot_order; unsigned gpsdata[32]; char desc[512], artist[64]; } libraw_imgother_t; __declspec(align(8)) typedef struct { unsigned int progress_flags; unsigned int process_warnings; libraw_iparams_t idata; libraw_image_sizes_t sizes; libraw_colordata_t color; libraw_imgother_t other; libraw_thumbnail_t thumbnail; libraw_rawdata_t rawdata; ushort (*image)[4] ; libraw_output_params_t params; void *parent_class; } libraw_data_t; Everything works fine now and I am getting all correct metadata values (ISO...). I guess, the default structure fields alignment on VS2010 is 8 bytes and not 4 bytes. Thanks for your help :-) reply
Finally I have found a solution:
I added an alignment before some structures:
__declspec(align(8)) typedef struct
{
float iso_speed;
float shutter;
float aperture;
float focal_len;
time_t timestamp;
unsigned shot_order;
unsigned gpsdata[32];
char desc[512],
artist[64];
} libraw_imgother_t;
__declspec(align(8)) typedef struct
{
unsigned int progress_flags;
unsigned int process_warnings;
libraw_iparams_t idata;
libraw_image_sizes_t sizes;
libraw_colordata_t color;
libraw_imgother_t other;
libraw_thumbnail_t thumbnail;
libraw_rawdata_t rawdata;
ushort (*image)[4] ;
libraw_output_params_t params;
void *parent_class;
} libraw_data_t;
Everything works fine now and I am getting all correct metadata values (ISO...).
I guess, the default structure fields alignment on VS2010 is 8 bytes and not 4 bytes.
Thanks for your help :-)