intptr

    4熱度

    1回答

    我有一個系統,可以從相機收集8位灰度圖像,將數據放入WriteableBitmap並將圖像顯示在WPF圖像上目的。這項工作發生在相機線程中。我用這篇文章來幫助我:How to create a BitmapImage from a pixel byte array (live video display) 我想要做的是複製圖像數據的像素數據的子集。在相機線程的幀更新過程中,我試圖在獨立的字節數組中

    0熱度

    1回答

    在我的C#應用​​程序中,我有一個IntPtr類型的變量lpData(從對非託管代碼的調用中接收到),它指向一個字符串。 我必須用另一個值替換這個字符串。 我想: int RegQueryValueExW_Hooked( IntPtr hKey, string lpValueName, int lpReserved, ref Microsoft.Win

    1熱度

    1回答

    我有一個類定義如下: [StructLayout(LayoutKind.Sequential)] public class OUR_MEM_STR { public byte[] p; public int len; }; 這是下面的C結構的等效確定指標: typedef struct { void *p; i

    4熱度

    1回答

    我正在用「安全」代碼對IntPtr進行試驗,並將其與「不安全」模式下的事情進行比較。 GCHandleType.Pinned類似於在不安全模式下使用「fixed」嗎? GCHandle pinnedArray = GCHandle.Alloc(byteArray, GCHandleType.Pinned); IntPtr pointer = pinnedArray.AddrOfPinnedObj

    0熱度

    1回答

    目前我正在處理一個簡單的類庫,以便在各種blog posts和SO answers的幫助下處理global hot keys。 考慮這個代碼段組成,我已經放在一起。 protected override void WndProc(ref Message m) { const int WM_HOTKEY = 0x0312; if (m.Msg == WM_HOTKEY)

    2熱度

    1回答

    我試圖在我的C#代碼中導入C++函數。 該函數被定義爲: int SetPointers(int* ID, int* BufferID, int** Pointer, double** Time, int NumberOfPointers); 與ID int數組, BufferId int數組, 指針int數組, 時間加倍, NumberOfPointers一個int的陣列。 我試圖使用Int

    0熱度

    1回答

    昨天,我發佈了一個關於從C#向C++傳遞一些int **和double **的問題。 How to import a C++ function with int** and double** parameters 幸運的是,我得到了一些很好的幫助。這是我的新代碼: [DllImport("opendsp.dll", SetLastError = true, CharSet = CharSet.Au

    0熱度

    1回答

    如果我理解正確,當使用非可移位值的結構時,來自非託管內存的結構數據被複制到託管內存中(基本上具有相同的結構兩次)。 此外,如果我沒有錯,IntPtr變量存儲在託管內存中,但它們指向的數據位於非託管內存中。 現在可以說,我有一個委託方法,它是由一個C++函數調用並接收結構爲ref,處理程序會是這樣的: private void _handler(ref MyStruct p){} 現在阿比說我不

    1熱度

    2回答

    我遇到了一個問題,我希望你們能幫助我解決這個問題。我在C#編程相對較新,並從未使用過C++,所以我不知道以下問題: 我正在使用SDK(它是用C++編寫的)接收和請求DDNS更新來自特定類型的設備。設置回調正在工作,並在預期的時間觸發回調。 該文件說回調包含一個char **參數,但我不知道這是怎麼回事。我已經嘗試了很多選項,應用程序不會崩潰的唯一方法是使用該參數的IntPtr。但是當我這樣做時,我

    1熱度

    1回答

    我已經創建了一個採用雙指針(BYTE **)的COM方法。在COM內部,我正在分配內存並初始化它。 簽名是; HRESULT Canny([in] BSTR szLogoPath, [out] BYTE** pBuffer, [out] USHORT* iBufLen); 問題是當我從C#項目調用它時COM崩潰,而當我從WIN32項目調用它時它工作正常。 另外,在C#項目中上面的方法顯示爲;