2010-07-28 2 views
1

WinAPI에서 작업하면서 C# 응용 프로그램에서 GetProcessAfinityMask에 대한 호출을 구현하기로 결정했습니다. 그러나이 함수에 대해 두 가지 다른 시그너처를 보았습니다.API 호출의 SafeProcessHandle과 IntPtr의 차이점

[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 사용 : 그들 중

하나는 핸들 SafeProcessHandle를 사용

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

두 함수 모두 같은 값을 반환 감안할 때, 차이점은 무엇입니까 SafeProcessHandle 인스턴스 또는 IntPtr 사이를 전달 하시겠습니까?

답변

관련 문제