我是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()方法。 –