I decompiled EOSUTILITY, and check a file named LensAdjustSetting.cs, In this file we can see this class:
private void updateValue(object sender, EOSUtility.PropertyChangedEventArgs e)
{
if (e.PropertyID == 0x40d)
{
if (base.InvokeRequired)
{
base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
return;
}
this.detectLens((string) e.Data);
}
if (e.PropertyID == 0x1000211)
{
if (base.InvokeRequired)
{
base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
return;
}
if (((uint) e.Data) == 0x27)
{
this.detectLens("EF75-300mm f/4-5.6 II,III");
}
}
if (e.PropertyID == 0x100041d)
{
if (base.InvokeRequired)
{
base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
return;
}
byte[] data = (byte[]) e.Data;
if (this.parser != null)
{
uint num = 0;
if (this.parser.SetProperty(0x100041d, 0, data) == 0)
{
uint num3;
for (int i = 0; i < this.lensItems.Length; i++)
{
this.lensItems
.Checked = false;
}
num = this.parser.GetProperty(0x1002, 0, out num3);
for (int j = 0; j < num3; j++)
{
string str;
if ((this.parser.GetProperty(0x40d, j, out str) == 0) && !string.IsNullOrEmpty(str))
{
this.addLens(str);
}
}
}
else
{
this.lensListView1.Enabled = false;
this.bitmapButton2.Enabled = false;
this.labelMessage.Text = StringTable.MSG_LENS_ERROR;
}
}
this.updateList();
this.cameraController.actionPerformed("getproperty", new EOSUtility.PropertyChangedEventArgs(0x40d, 0));
this.cameraController.actionPerformed("getproperty", new EOSUtility.PropertyChangedEventArgs(0x1000211, 0));
}
if (e.PropertyID == 0x500)
{
if (base.InvokeRequired)
{
base.BeginInvoke(new EOSUtility.PropertyChangedEventHandler(this.updateValue), new object[] { sender, e });
}
else if (((uint) e.Data) != 0)
{
base.Close();
}
}
}
In this class, we find some propertyID, 0x40d,0x1000211 and 0x100041d.these propertyID we can find in EDSDK.cs
public const uint PropID_LensAdjustParams = 0x100041d;
public const uint PropID_LensID = 0x1000211;
public const uint PropID_LensName = 0x40d;
so, i guess we can program some function, change PropID 100041d,and get this work.
In EDSDK 2.6,we also can find 0X40D,and can't find LensID and LensAdjustParams.
Maybe we can archieve AFmicroadjust in 40D,450D.