C# 및 USB 프로그래밍을 처음 사용합니다. 나는 그것으로 몇 가지 문제가 있습니다. 나는 그것과 통신 할 수 없다. 여기 GUID를 얻기 위해 GUID를 선언하는 방법이있다. GUID의 새 인스턴스를 만든 다음 HidGuid를 호출하여 Guid.Below를 얻는 방법은 pInvoke 메서드입니다. 그러나 얻는 GUID를 확인하는 방법은 올바른/올바른 것입니다.이 구조를 문자열로 변환하는 방법은 없습니다. 그렇다면, 어떻게. 알려줘. 감사.C#의 GUID에 대한 pInvoke 메서드
private GUID MYguid = new GUID();
HidGuid();
public unsafe void CT_HidGuid()
// 1.Data1 = 1293833650
//Data2 = 61807
//Data3 = 4559
//data4 = 136 203 0 17 17 0 0 48
// hex values 4d1e55b2 f16f 11cf 7be03c74ac80
{
HidD_GetHidGuid(ref MYguid);
}
[DllImport("hid.dll", SetLastError = true)]
static extern unsafe void HidD_GetHidGuid(ref GUID lpHidGuid);
public unsafe struct GUID
{
public int Data1;
public System.UInt16 Data2;.
public System.UInt16 Data3;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] data4;
}
왜 표준 System.Guid 유형을 사용하지 않으시겠습니까? 'HidD_GetHidGuid (ref System.Guid lpHidGuid); ' –
GUID를 문자열로 만들고 싶다면 ToString() 메서드를 재정의하십시오. –