핸들(handle)이란 어떤 대상에 붙여진 번호이며 문법적으로는 32bit 또는 64bit의 정수 값이다.
윈도우즈 에서는 여러가지 종류의 핸들이 사용되고 있는데 만들어진 위도우에는 윈도우 핸들(hWnd)를 붙여 번호로 관리하고 DC(device context)에 대해서도 핸들을 사용하고 펜, 브러시 에도 핸들을 붙여 관리한다.

왜 이렇게 관리를 하냐고 한다면, 대상끼리의 구분을 위해서 이기도 하지만 문자열보다는 정수를 사용하는 것이 속도가 훨씬 더 빠르고 간편하기 때문이다. 윈도우에서는 핸들을 많이 사용하므로, 핸들의 특성에 관해 미리 숙지하는 것이 좋다.

1. 핸들은 정수값이며 대부분의 경우 32비트 값이다. 핸들을 사용하는 목적은 구분을 위한 것이므로, 핸들끼리 중복되지 않아야 하며 이런 목적으로는 정수형이 가장 적합하다. 정수형은 비교나 대입 연산이 가장 빨라서 핸들로 쓰기 적합하다.

2. 같은 종류의 핸들기리는 절대로 중복된 값을 가지지 않는다. 만약 이렇게 된다면 대상을 구분하는 본래의 목적을 달성할 수 없을 것이다. 물론 다른 종류의 핸들 끼리는 중복된 값을 가질 수도 있다.

4. 핸들은 정수형이므로 값을 가지겠지만, 그 실제값이 무엇인지는 몰라도 상관없다. 핸들은 크고 작음의 성질을 가지는 숫자가 아니라 단순한 표식일 뿐이다. 핸들형 변수를 만들어 핸들에 대입받아 쓰고 난 후에는 버리면 된다.

'프로그래밍 > API' 카테고리의 다른 글

[API] 윈도우 생성..  (0) 2011.08.02
[API] 윈도우 클래스  (0) 2011.08.01
[API] 유니코드  (0) 2011.07.31
[API] API 란 무엇인가.  (0) 2011.07.31
[API] API 관련하여..  (0) 2011.07.31
Posted by 바람처럼..
|