API-핸들(handle)?
- 프로그래밍/WindowsAPI
- 2011. 5. 2. 12:14
핸들이란 구체적인 어떤 대상에 붙여진 번호이며 문법적으로는 32비트(또는 64비트)의 정수값이다.
도스 프로그래밍에서는 파일입출력시 파일 핸들을 받았음.
윈도우즈 프로그래밍에서는 여러가지 종류의 핸들이 있다. 윈도우핸들(hWnd), DC 핸들, 메모리 핸들 사용.
이렇게 핸들을 자주 사용하는 이유는 ID역할을 하기 때문이고 문자열보다 빨라서 정수를 이용한다.
특징
1. 핸들은 일단 정수값이다. 대부분 32비트값.
=> 핸들은 구분을 위한 것이므로 핸들끼리 중복되지 않아야한다. 이런 목적으로는 정수값이 가장 적합
2. 핸들은 운영체제가 발급한다.
사용자는 운영체제가 발급한것을 사용하기만한다.
3. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다.
4. 핸들은 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다.
핸들은 크고 작음을 나타내는것이 아닌 단순한 구분을 위한 표시.
5. HWND, HPEN, HBRUSH, HDC 등이 행들을 담기 위한 데이터형들이다.
(모두 부호없는 정수형)
도스 프로그래밍에서는 파일입출력시 파일 핸들을 받았음.
윈도우즈 프로그래밍에서는 여러가지 종류의 핸들이 있다. 윈도우핸들(hWnd), DC 핸들, 메모리 핸들 사용.
이렇게 핸들을 자주 사용하는 이유는 ID역할을 하기 때문이고 문자열보다 빨라서 정수를 이용한다.
특징
1. 핸들은 일단 정수값이다. 대부분 32비트값.
=> 핸들은 구분을 위한 것이므로 핸들끼리 중복되지 않아야한다. 이런 목적으로는 정수값이 가장 적합
2. 핸들은 운영체제가 발급한다.
사용자는 운영체제가 발급한것을 사용하기만한다.
3. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다.
4. 핸들은 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다.
핸들은 크고 작음을 나타내는것이 아닌 단순한 구분을 위한 표시.
5. HWND, HPEN, HBRUSH, HDC 등이 행들을 담기 위한 데이터형들이다.
(모두 부호없는 정수형)
이 글을 공유하기