none
HADLE VS SC_HANDLE 차이가 문가요? RRS feed

  • 질문

  • 안녕하세요.

    다름이 아니라 서비스 형태의 프로그램을 만들려고하는데요.

    여러 예제를 찾다보니 어떤 코드에서는

    SC_HANDLE로 선언한 예제코드도 있구요.

    어떤 코드는 HANDLE로 선언한 코드가 있더라구요.

    그래서 두개의 차이가 뭔지 궁금합니다.

    2013년 1월 9일 수요일 오전 4:01

답변

  • HANDLE 의 정의는 winnt.h 에 있습니다.
     
    typedef void *HANDLE;

    즉, HANDLE h_data;  라고 하면 void *h_data; 라고 하는것과 같습니다.
    그리고 SC_HANDLE 의 정의는 winsvc.h 에 아래와 같이 정의되어 있습니다.

     

    typedef HANDLE SC_HANDLE;

    즉, 데이터형의 입장에서 볼때 둘은 차이가 없습니다. 단순히, 특정 핸들값이
    어디에서 사용되는지 소스코드상에서 좀더 구분을 명확하기 위해서 이름만
    바꾼것뿐입니다. (SC_HANDLE 은 통상적으로 서비스 루틴에서 사용하는 핸들용으로 사용합니다.)

     

    결론적으로 두가지 모두 void * 로 동일합니다. 단순히 구분하기 위해서 이름만 바꾼것 뿐입니다.

    2013년 1월 16일 수요일 오전 8:25
    중재자