CHandle 클래스
이 클래스는 핸들 개체를 만들고 사용하는 메서드를 제공합니다.
구문
class CHandle
멤버
공용 생성자
속성 | 설명 |
---|---|
CHandle::CHandle | 생성자입니다. |
CHandle::~CHandle | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CHandle::Attach | 개체를 기존 핸들에 CHandle 연결하려면 이 메서드를 호출합니다. |
CHandle::Close | 이 메서드를 호출하여 개체를 닫습니다 CHandle . |
CHandle::D etach | 개체에서 핸들을 분리하려면 이 메서드를 CHandle 호출합니다. |
Public 연산자
속성 | 설명 |
---|---|
CHandle::operator HANDLE | 저장된 핸들의 값을 반환합니다. |
CHandle::operator = | 대입 연산자입니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CHandle::m_h | 핸들을 저장하는 멤버 변수입니다. |
설명
CHandle
핸들이 필요할 때마다 개체를 사용할 수 있습니다. 주요 차이점은 개체가 CHandle
자동으로 삭제된다는 것입니다.
참고 항목
일부 API 함수는 NULL을 비어 있거나 잘못된 핸들로 사용하고 다른 함수는 INVALID_HANDLE_VALUE 사용합니다. CHandle
NULL만 사용하고 INVALID_HANDLE_VALUE 실제 핸들로 처리합니다. INVALID_HANDLE_VALUE 반환할 수 있는 API를 호출하는 경우 CHandle::Attach를 호출하거나 생성자에 전달하기 전에 이 값을 확인하고 대신 NULL을 CHandle
전달해야 합니다.
요구 사항
헤더: atlbase.h
CHandle::Attach
개체를 기존 핸들에 CHandle
연결하려면 이 메서드를 호출합니다.
void Attach(HANDLE h) throw();
매개 변수
시간
CHandle
는 핸들 h의 소유권을 가져옵니다.
설명
h 핸들에 CHandle
개체를 할당한 다음 h.Detach()를 호출합니다. 디버그 빌드에서 h가 NULL인 경우 ATLASSERT가 발생합니다. 핸들의 유효성에 대한 다른 확인은 이루어지지 않습니다.
CHandle::CHandle
생성자입니다.
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
매개 변수
시간
기존 핸들 또는 CHandle
.
설명
필요에 따라 기존 핸들 또는 CHandle
개체를 사용하여 새 CHandle
개체를 만듭니다.
CHandle::~CHandle
소멸자입니다.
~CHandle() throw();
설명
CHandle
CHandle::Close를 호출하여 개체를 해제합니다.
CHandle::Close
이 메서드를 호출하여 개체를 닫습니다 CHandle
.
void Close() throw();
설명
열린 개체 핸들을 닫습니다. 핸들이 NULL이면 이미 호출된 경우 Close
디버그 빌드에서 ATLASSERT가 발생합니다.
CHandle::D etach
개체에서 핸들을 분리하려면 이 메서드를 CHandle
호출합니다.
HANDLE Detach() throw();
Return Value
분리되는 핸들을 반환합니다.
설명
핸들의 소유권을 해제합니다.
CHandle::m_h
핸들을 저장하는 멤버 변수입니다.
HANDLE m_h;
CHandle::operator =
할당 연산자입니다.
CHandle& operator=(CHandle& h) throw();
매개 변수
시간
CHandle
는 핸들 h의 소유권을 가져옵니다.
Return Value
새 CHandle
개체에 대한 참조를 반환합니다.
설명
개체에 CHandle
현재 핸들이 포함되어 있으면 닫힙니다. 전달되는 개체에는 CHandle
해당 핸들 참조가 NULL로 설정됩니다. 이렇게 하면 두 CHandle
개체에 동일한 활성 핸들이 포함되지 않습니다.
CHandle::operator HANDLE
저장된 핸들의 값을 반환합니다.
operator HANDLE() const throw();
설명
CHandle::m_h 저장된 값을 반환합니다.