qu'il utilisait cette fonction sur le canon edsdk obtenir la taille de la propriété et de la valeurkEdsPropID_ShutterCounter

mais dans EDSDK 2.12 utiliser ce code en C

#include <stdio.h>
#include "EDSDK.h"
#include "EDSDKTypes.h"
#include "EDSDKErrors.h"

typedef enum { false, true } bool;

void main()
{


EdsError err = EDS_ERR_OK;
EdsCameraListRef cameraList = NULL;
EdsCameraRef camera = NULL;
EdsUInt32 count = 0;
int v3,v5,v7,v8,v9,v10,v11,v12,v13;
int *v6;
int *p;
int a3 = 0x22;
int Flag;
bool isSDKLoaded = false;

printf("Canon EOS ShutterCounter lecteur\n");

err = EdsInitializeSDK();

if(err == EDS_ERR_OK)
{
isSDKLoaded = true;
}

if(err == EDS_ERR_OK)
{
err = EdsGetCameraList(&cameraList);
}


if(err == EDS_ERR_OK)
{
err = EdsGetChildCount(cameraList, &count);
if(count == 0)
{
err = EDS_ERR_DEVICE_NOT_FOUND;
}
}

if(err == EDS_ERR_OK)
{
err = EdsGetChildAtIndex(cameraList , 0 , &camera);
}


if(err == EDS_ERR_OK)
{
err = EdsOpenSession(camera);
}else{
printf("S'il vous plaît Power On appareil et le connecter au port USB...");
}

///////////////////////////////////////////////////////////////////////////////////

if(err == EDS_ERR_OK)
{
v3 = (int)camera+20;
*p = (int *)v3;
if(*p)
{
v5 = *p & 0x80000000;
v6 = *(int **)(*p + 4);
v7 = *v6;
Flag = v7;
if ( (v7 & 0x80000000) == v5 )
{
if ( v7 )
{
while ( 1 )
{
v8 = *(DWORD *)v7;
if ( (*(DWORD *)v7 & 0x80000000) == v5 )
{
v9 = v7 + 8;
v7 = v9;
if ( (v9 & 0x80000000) == v5 )
{
if ( v9 )
{
v10 = *(DWORD *)v9;
if ( (v10 & 0x80000000) == v5 )
{
if ( (v10 & 0x80000000) == v5 )
{
if ( v10 )
{
if ( a3 == *(WORD *)v10 )
{
v11 = v10 + 12;
if ( v11 )
{
break;
}
}
}
}
}
}
}
}
v7 = v8;
Flag = v8;
if ( !v8 || (v8 & 0x80000000) != v5 || (int *)v8 == v6 )
printf("erreur!");
}
v12 = *(DWORD *)v11;
if ( (v12 & 0x80000000) == v5 && v12 )
{
v13 = *(DWORD *)v12;
printf("Shutter Count : %d",v13);
}
}
}
}
}


/////////////////////////////////////////////////////////////////////////////////////////////////

if(err == EDS_ERR_OK)
{
err = EdsCloseSession(camera);
}

if(camera != NULL)
{
EdsRelease(camera);
}

if(isSDKLoaded)
{
EdsTerminateSDK();
}
getch();

}