intptr

    1熱度

    2回答

    我正在開發一個COM對象,應該在C#和VBScript中工作。它也必須支持32位和64位。 我遇到的問題是指針。見我.IDL HRESULT Copy([in] PTRTYPE destAddr, [in] PTRTYPE srcAddr, [in] int bytes); 的一部分。如果我宣佈PTRTYPE爲void *,C#把它們看作一個IntPtr和VB6/VBScript中看到他們「爲

    0熱度

    1回答

    什麼是適當的簽名/馬歇爾屬性能夠使用指針參數獲取輸出參數?到目前爲止,我嘗試這樣做: // Function to calculate the norm of vector. !0 on error. // int err_NormVec(int size, double * vector, double * norm) [DllImport("vectors.dll")] int err_

    0熱度

    1回答

    我期待着找到一種方法來阻止我的消息繼續進行或換句話說,使其處理。 說,光標位置是在文本框,我正在掃描條形碼「#保存#」。我認識到使用WindowProc這是條形碼文本,我處理保存文本(通過保存我的表單),但現在我不想在文本框中寫入此文本(「#保存#」)。 所以在短句中我正在尋找屬性或方法來說窗口這個文本(輸入)被處理,不要做任何進一步的操作。 HwndSource source = (HwndSo

    6熱度

    1回答

    我剛剛學會了IntPtr.Zero無法與默認(IntPtr)進行比較的難題。有人能告訴我爲什麼嗎? IntPtr.Zero == new IntPtr(0) -> "could not evaluate expression" IntPtr.Zero == default(IntPtr) --> "could not evaluate expression" IntPtr.Zero == (I

    -1熱度

    1回答

    我在嘗試從IntPtr直接從硬盤讀取文件時出現問題,目前我通過首先使用FileStream將其傳遞給字節數組讀取它,然後複製字節數組到IntPtr。但是這個方法在處理大文件時會導致溢出。這就是爲什麼我現在正在試圖直接讀取使用的IntPtr硬盤的文件,但我還沒找到了一個辦法做到這一點。

    0熱度

    1回答

    我寫了一個在COM中實現IGroupPolicyObject接口的類。該方法的一個 現在返回在C#IntPtr的對象: IntPtr ghKey = objectGPolicy.GetRegistryKey(GpoSectionMachine); 欲使用屬於Microsot.Win32命名空間中的RegistryKey對象時derefrence該指針。 這不起作用: (RegistryKey)

    1熱度

    1回答

    Im此新languaje。 我認爲這個問題非常清楚,我調用dll函數後需要接收intptr,並且需要將它指向的緩衝區保存到MemoryStream變量中。 ¿我該怎麼做?

    19熱度

    4回答

    我想從一個IntPtr指針獲取數據到一個字節數組中。我可以使用下面的代碼來做到這一點: IntPtr intPtr = GetBuff(); byte[] b = new byte[length]; Marshal.Copy(intPtr, b, 0, length); 但上面的代碼強制從IntPtr到字節數組的複製操作。問題數據很大時,這不是一個好的解決方案。 有沒有辦法將IntPtr轉

    1熱度

    1回答

    我想在Windows上使用SWIG來構建64位應用程序。我有一個類有一個指向緩衝區的指針,因爲我想與.NET類接口,指針被聲明爲intptr_t。 的問題是,標準SWIG stdint.i假定intptr_t要麼int(在32位的環境)或long(在64位的環境)。雖然在Unix上這是真的,但它在Windows上是錯誤的。有沒有人有類似的經驗或任何想法如何爲此創建一個解決方法? 我已經設置了int