핸들(handle)

2011. 3. 17. 00:32 from PROGRAMMING/winAPI

핸들(handle)

 

■ 구체적인 어떤 대상에 붙여진 32비트의 정수값을 가지는 번호

 

■ 만들어진 윈도우에 윈도우 핸들(hWnd)을 붙여 윈도우를 번호로 관리

  → 대상끼리의 구분을 위해서는 문자열보다 정수를 사용하는 것이 훨씬 더 속도가 빠르므로.

 

■ 윈도우즈에서 핸들은 예외없이 접두어 h로 시작

 

■ 핸들값을 저장하기 위한 별도의 데이터 형(모두 부호없는 정수형): HWND, HPEN, HBRUSH, HDC 등

 

■ 핸들의 특성

1. 정수값이며 대부분의 경우 32비트값이다.

  → 핸들을 사용하는 목적은 오로지 구분을 위한 것이므로 핸들끼리 중복되지 않아야하며 이런 목적으로는 정수형이 가장 적합하다.

 

2. 핸들은 운영체제가 발급해 주며 사용자는 쓰기만 하면 된다.

예를 들어, 윈도우를 만들거나 파일을 열면 운영체제는 만들어진 윈도우나 열려진 파일에 핸들을 붙여준다.

사용자는 이 핸들을 잘 보관해 두었다가 해당 윈도우나 파일을 다시 참조할 때 핸들을 사용하면 된다.

사용자가 직접 핸들을 만들 경우란 없다.

 

3. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다.

만약 이렇게 된다면 핸들은 구분을 위해 사용할 수 없을 것이다. 다른 종류의 핸들끼리는 중복된 값을 가질 수도 있다.

 

4. 핸들은 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다.

핸들은 크고 작음의 성질을 가지는 숫자가 아니라 단순한 표식일 뿐이다.

핸들형 변수를 만들어 핸들을 대입받아 쓴 후에는 버리면 된다.

 

안쓰더라도 구조체를 만들때 핸들값도 같이 만들어주는것이 좋다.->식별용이

 

 

 

 

출처: http://www.winapi.co.kr/ (API 강좌-초급강좌-'1-3-나. 핸들에 대한 이해')


'PROGRAMMING > winAPI' 카테고리의 다른 글

[0317수업] struct SCROLLINFO  (0) 2011.03.17
DC(Device Contexts)  (0) 2011.03.17
[0316수업] WndProc()함수 분석  (0) 2011.03.16
[0315수업] WinMain(), WndProc()  (0) 2011.03.15
[0314수업] Windows Programming  (0) 2011.03.15
Posted by 마마필로 :