pinvoke

    1熱度

    1回答

    嘗試使用the Add-Type approach讀取從PowerShell腳本當前的Windows控制檯模式時,我收到錯誤: $MethodDefinitions = @' [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr GetStdHandle(int nStdHandle); [DllImpor

    2熱度

    1回答

    我使用痛飲生成C#包裝爲從C#中使用一些C代碼庫。當我運行痛飲,它會生成一個公開的所有功能,所生成的PInvoke C#文件的包裝C文件...例如: // This is in KodLogic_wrap.c SWIGEXPORT void SWIGSTDCALL CSharp_DMGameMode_timeLimit_set(void * jarg1, unsigned short jarg2

    2熱度

    1回答

    具有C++以下代碼: nConId是連接標識符 pParName參數名 pSubName子參數名稱(如果有的話) pValue_out指向長度爲char數組的指針FCL_PAR_VALUE_LENGH nValueSize pValue_out向量的實際大小(至少爲FCL_PAR_VALUE_LENGH) extern "C" MY_API int ReadParameter(const Conn

    0熱度

    1回答

    我有一個圖書館與visual C++ 2015(vc140)編譯; 我有一個客戶端應用程序在c#目標.net框架4.6.1。 客戶端應用程序無法調用(P/Invoke)從庫導出的任何函數(獲取「找不到dll」異常);但是,當我將編譯器更改爲vc120(visual C++ 2013)時,一切正常。 這是一個設置問題?

    1熱度

    1回答

    我面臨着一個消息AOT問題嘗試JIT編譯方法'(包裝託管到本機); ...包裝_aot_native(對象)'在運行時與 - 只 - 只。 我有一個包含應該由本機函數(稱爲LoadContext)進行初始化的方法指針的結構,這個結構看起來是: [StructLayout (LayoutKind.Sequential)] public struct WrapperContext { p

    1熱度

    1回答

    我試圖製作一個function,它收到幾個WCHAR <paramName>[1]參數。 從我在多個地方讀到的,在C/C++中,你實際上不能將數組傳遞給函數,而是將它們轉換爲一個保存數組第一個元素的指針,這意味着數組長度變爲不相關,因此WCHAR <paramName>[1]與WCHAR* <paramName>相同。 所以通常我會在C#中聲明這是一個StringBuilder並將其編組爲LPWS

    1熱度

    1回答

    我想在不查詢域的情況下列出本地用戶所屬的所有本地組。這已被證明特別困難,因爲所有WMI變體都會查詢域,而不管您應用的是哪種過濾器。 (這就是爲什麼它們會永久生成並在域上生成數百個(如果不是數千個)安全審覈事件的。)顯然,所有Active Directory命令都會按照它們設計的那樣來查詢域。

    1熱度

    2回答

    我試圖在我的Windows Phone 8.1應用程序中調用GetDiskFreeSpaceExW Win Api調用,並且我始終未通過認證。 此功能是支持的Win32 API的列表: https://msdn.microsoft.com/en-us/library/windows/apps/jj662956(v=vs.105).aspx#BKMK_ListofsupportedWin32APIs

    0熱度

    1回答

    我目前通過使用[DLLImport]將大量的數組傳遞到fortran子例程。除了我在運行該過程的其他每個時間都收到以下異常外,一切外觀看起來都正確。 這是我的理解,這意味着我已經損壞了內存中的未受託管的代碼。 如何判斷c#中的哪個變量位於錯誤消息中的地址,以便我可以開始縮小損壞內存的位置?即什麼c#對象位於@ 0x739c1263?

    0熱度

    1回答

    我有下面的C++函數: int my_func(char* error) { // Have access here to an Exception object called `ex` strcpy(error, ex.what()); return 0; } 我PInvoking像這樣在C#: [DllImport("pHash.dll", CallingC