ADL_SDK ADL_Display_WriteAndReadI2C can not work

Discussion created by luyang81 on Jul 20, 2009
ADL_SDK ADL_Display_WriteAndReadI2C can not work

I want to use the function ADL_Display_WriteAndReadI2C in ADL_SDK to access the EDID of monitor, but the function always returns -1 which is not successful. I put part of my code here:

  ADL_i2c_rw = (ADL_DISPLAY_I2C)GetProcAddress(hDLL,"ADL_Display_WriteAndReadI2C");
  pi2c = malloc(sizeof(ADLI2C));
  memset(pi2c, 0x0, sizeof(ADLI2C));
  pi2c->iSize = sizeof(ADLI2C);
  pi2c->iLine = 1;
  pi2c->iAddress = 0x50;
  pi2c->iOffset = 0;
  pi2c->iAction = ADL_DL_I2C_ACTIONREAD;
  pi2c->iSpeed = 100;
  pi2c->iDataSize = 1; // 1-Byte
  pi2c->pcData = malloc(pi2c->iDataSize);
  if (ADL_i2c_rw != NULL)
   iRet = ADL_i2c_rw(iAdapterIndex, pi2c);
   for (i = 0; i < pi2c->iDataSize; i++)
    printf(_T("ADL_Display_WriteAndReadI2C[%d]: 0x%x02\n"), i, pi2c->pcData);


Can anyone give me some help? thanks a lot!

or can anyone give me some suggestion to contact AMD/ATI (I already have sent mail to but no reply)