[英]pInvoke method for GUID in C#
我是C#和USB編程的新手。 我有幾個問題。 我無法與它通信。這就是我如何聲明GUID獲取GUID。 我正在創建一個新的GUID實例,然后調用HidGuid來獲取Guid.Below是它的pInvoke方法。但是如何驗證我得到的GUID是有效/正確的。有沒有辦法將這個結構轉換為字符串。 如果是這樣,怎么樣。 讓我知道。 謝謝。
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;
}
P / Invoke層會為您將C Guids轉換為C#guids。 您可以像這樣調用您的pinvoke功能
[DllImport("hid.dll", EntryPoint="HidD_GetHidGuid", SetLastError=true)]
static extern void HidD_GetHidGuid(out Guid hidGuid);
然后,您將能夠使用托管的C#Guid類並與之進行比較。
看看網站pinvoke.net ,他們有許多Windows API調用的預制簽名。
你真的需要使用PInvoke來生成GUID嗎? 為什么不使用System命名空間中的Guid.NewGuid()方法?
http://msdn.microsoft.com/en-us/library/system.guid.newguid.aspx
你好Scott Chamberlain,GUID由“HidD_GetHidGuid”返回,它與系統類GUID不同。 讓我知道
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.