代码之家  ›  专栏  ›  技术社区  ›  Den

API调用的safeprocesshandle和intptr之间的差异

  •  1
  • Den  · 技术社区  · 15 年前

    在使用WinAPI时,我决定实现对 GetProcessAfinityMask 在我的C申请中。但是,我看到了这个函数的两个不同的签名。

    其中一个用途 SafeProcessHandle 手柄:

    [DllImport("kernel32.dll", CharSet=CharSet.Auto, SetLastError=true)]
    public static extern bool GetProcessAffinityMask(SafeProcessHandle handle, out IntPtr processMask, out IntPtr systemMask);
    

    另一个可能的版本( on P/Invoke 使用 IntPtr :

    [DllImport("kernel32.dll",SetLastError = true)]
    static extern bool GetProcessAffinityMask(IntPtr hProcess,
       out UIntPtr lpProcessAffinityMask, out UIntPtr lpSystemAffinityMask);
    

    如果两个函数都返回相同的值,那么传递 安全处理手柄 实例或 国际乒乓球联合会 ?

    1 回复  |  直到 9 年前
        1
  •  3
  •   ISanych    9 年前