0
我正在使用AMD ADL來枚舉和操作連接到我係統的顯示器。我需要的一個必要功能是能夠讀取和解析顯示EDID。我能夠解析EDID的字節數組表示,但是我無法獲取EDID。基於ADL文檔,我定義了ADLDisplayEDIDData結構並導入了ADL_Display_EdidData_Get函數。但是,任何執行我的代碼都會導致retvalue -3的錯誤。此retvalue指示無效的參數。使用AMD ADL獲取C#中的顯示器EDID
的EDIDData結構:
[StructLayout(LayoutKind.Sequential)]
internal struct ADLDisplayEDIDData
{
internal int Size;
internal int Flag;
internal int EDIDSize;
internal int BlockIndex;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)]
internal byte[] EDIDData;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
internal int[] Reserved;
}
的dllimport的:
[DllImport(Atiadlxx_FileName)]
internal static extern int ADL_Display_EdidData_Get(int adapterIndex, int displayIndex, ref ADLDisplayEDIDData EDIDData);
是否與我的聲明的任何錯誤?有沒有人有ADL的經驗和獲得EDID信息?
預先感謝您。