HRESULT함수완료 상태를 나타내는 컴퓨터 프로그래밍 자료형이다.

마이크로소프트 윈도우 및 이전 IBM/마이크로소프트 OS/2 운영 체제를 대상으로 하는 애플리케이션의 소스 코드에 사용되지만 설계는 이러한 환경으로 사용을 제한하지 않는다. 32비트 정수를 지원하는 모든 시스템에서 사용할 수 있다.

HRESULT의 원래 목적은 OS/2 운영 체제의 서로 다른 하위 시스템에 있는 상태 코드 간의 충돌을 방지하기 위해 공개 및 마이크로소프트 내부 사용을 위한 상태 코드 범위를 배치하는 것이었다.

HRESULT는 단순한 숫자값이면서 동시에 심각도, 기능 및 상태 코드를 나타내는 필드의 구조가 되도록 설계되었다.

HRESULT의 사용은 COM 프로그래밍에서 가장 흔히 볼 수 있으며, 표준화된 오류 처리 메커니즘의 기초를 형성한다. 그러나 이것의 사용은 COM에만 국한되지 않는다. 예를 들어 불리언 통과/실패 결과의 전통적인 사용에 대한 대안으로 사용될 수 있다.

H의 의미 편집

HRESULT라는 이름은 다른 많은 윈도우 자료형에서 H를 핸들이라는 뜻으로 사용하기 때문에 "결과 핸들"을 의미하는 것처럼 보인다. 예를 들어, HMODULE은 모듈 핸들로, HMODULE 값은 모듈 리소스를 의미한다. 그러나 HRESULT 값은 리소스를 참조하지 않으므로 핸들이 아니다. 레이몬드 첸은 다음과 같이 말한다. "옛날에는 리치 오류 정보 개체를 다루는 핸들이었습니다... COM 팀은 비용/편익이 단순히 그만한 가치가 없다고 판단하여 HRESULT는 단순한 숫자로 바뀌었습니다. 하지만 이름은 그대로였습니다." [1]

각주 편집

  1. Chen, Raymond (2018년 1월 17일). “Why does HRESULT begin with H when it's not a handle to anything?”. 《The Old New Thing》 (미국 영어). 2022년 7월 11일에 확인함.