나는 IntPtr을 읽고 핸들을 나타내는 데 사용된다는 것을 읽었습니다. 이것은 정확히 무엇을 의미합니까? 나는 그것이 단순한 설명 일 것이라고 확신하지만 전구는 그 순간에 켜지지 않을뿐입니다.핸들은 무엇입니까? IntPtr
7
A
답변
6
이것은 일반적으로 운영 체제 핸들을 참조하며 내부적으로 사용됩니다. 예를 들어, Windows Forms는 IntPtr
을 사용하여 컨트롤의 기본 윈도우 핸들 (HWND)을 나타냅니다.
Windows API의 핸들은 많은 것들에 사용됩니다. 대부분의 운영 체제 관련 리소스 (파일, 소켓, 창 등)는 모두 포인터를 통해 핸들에 노출되어 있습니다. 관리 코드에서이 값은 IntPtr
에 저장됩니다.
즉, IntPtr
은 32 비트 또는 64 비트 코드를 기반으로 자동으로 크기가 변경되므로 interop 시나리오에도 포인터를 저장하는 데 정기적으로 사용됩니다.
+0
+! Windows API 메소드에서 가장 많이 사용되는 HWND를 사용합니다. 이것은 솔직히 정말 좋은 대답입니다. –
6
"핸들"은 "불투명 한 포인터"입니다. 이것은 운영체제가 실제 객체에 대한 포인터를 제공하는 대신 내부 객체를 나타내는 애플리케이션에주는 값 (일반적으로 배열에 대한 인덱스)입니다. 이것은 안전성과 추상성을 이유로 사용됩니다. 응용 프로그램이 제공된 API를 통해서만 핸들을 사용하도록합니다.
관련 문제
- 1. IntPtr 추가
- 2. IntPtr vs UIntPtr
- 3. Java에서 IntPtr (C#)과 동일한 기능은 무엇입니까?
- 4. 핸들은 스레드와 어떤 관련이 있습니까?
- 5. 는 운전자의 핸들은 드라이버를 작성
- 6. IntPtr/Int를 Socket으로 변환하는 방법?
- 7. IntPtr 창 핸들을 IWin32Window로 변환^
- 8. IntPtr 매개 변수를 float 값으로 채우는 방법은 무엇입니까?
- 9. C#에서 ulong 변수에 IntPtr 가져 오기
- 10. 컬렉션 사전 <object, IntPtr> 완료
- 11. extern 함수에서 default (IntPtr)가 합법입니까?
- 12. IntPtr 핸들을 사용하여 Window 배경색을 변경하십시오.
- 13. IntPtr 및 안전하지 않은 코드 피하기
- 14. System.IO.UnmanagedMemoryStream - IntPtr 대신 Byte *를 사용하는 이유
- 15. 핸들은 내가 전형적인 서브 버전 설정이 병렬 가지
- 16. QScrollBar의 핸들은 스타일을 지정하고 확장 가능하게 만들 수 있습니까?
- 17. 내 프로세스가 Linux에서 연 파일 핸들은 어떻게 찾습니까?
- 18. IntPtr + 크기에서 관리되는 바이트 배열을 만들 수 있습니까?
- 19. Java에서 Marshal.ReadIntPtr (IntPtr) (C#)과 동일한 기능을 제공합니까?
- 20. 'IntPtr'유형의 표현식에 색인을 적용 할 수 없습니다. == IntPtr ptr1 = [...] -> ptr1 [0]
- 21. "impersonate"함수를 intptr 대신 문자열 (사용자 이름)과 함께 사용할 수 있습니까?
- 22. mini.c : 5054 vtable의 문제점은 무엇입니까?
- 23. EnumChildWindows가 자식을 건너 뛰는 이유는 무엇입니까?
- 24. "ShowWindow Lib"이란 무엇입니까?
- 25. 이상한 예외는 무엇입니까?
- 26. UIScrollView의 일부 하위 뷰를 확대/축소하지 않는 방법은 무엇입니까?
- 27. IntPtr을 선언하는 방법은 무엇입니까?
- 28. System.Drawing.Image x degrees를 회전하는 방법은 무엇입니까?
- 29. Windows API를 사용하여 응용 프로그램의 MenuBar를 제거하는 방법은 무엇입니까?
- 30. MonthCalendar에 MCM_GETSELRANGE 메시지를 보내려면 P/Invoke 서명이란 무엇입니까?
중복 질문 : http://stackoverflow.com/questions/1148177/just-what-is-an-intptr-exactly – HABJAN
@Habjan : 아닙니다. OP는 핸들에 대해 묻는 반면, 그 질문은 'IntPtr'에 대해 묻습니다. – Mehrdad
[HANDLE이 가리키는 구조체]의 중복 가능. (http://stackoverflow.com/questions/5343660/struct-which-a-handle-points-to) – Gabe