windows.h

위키백과, 우리 모두의 백과사전.

windows.h는 윈도우 개발자들이 필요한 모든 매크로들, 다양한 함수들과 서브시스템에서 사용되는 모든 데이터 타입들 그리고 윈도우 API의 함수들을 위한 정의를 포함하는 윈도우CC++ 헤더 파일이다. 이것은 C에서도 사용될 수 있는 윈도우 용의 수 많은 함수들을 정의한다. Win32 API는 <windows.h>를 포함하고 적절한 라이브러리를 링킹함으로써 C 프로그래밍 프로젝트에 추가될 수 있다. xxxx.dll의 함수를 사용하기 위해서는 프로그램은 반드시 xxxx.lib에 링크되어야 한다(또는 MinGW에서는 libxxxx.dll.a). 몇몇 헤더들은 .dll이 아닌 정적 라이브러리로 존재한다(예를 들면 scrnsave.h는 scrnsave.lib를 필요로 한다).

자식 헤더 파일들[편집]

windows.h에 포함되는 많은 자식 헤더 파일들이 존재한다. 이러한 파일들 중 상당수는 의존성 때문에 간단하게 인클루드될 수 없다.

windows.h는 아마 다음의 헤더 파일들을 인클루드할 것이다:

  • excpt.h - 예외 처리
  • stdarg.h - 가변 인자 함수들(표준 C 헤더)
  • windef.h - 다양한 매크로와 타입들
  • winnt.h - 다양한 매크로와 타입들 (윈도우 NT를 위한)
  • basetsd.h - 다양한 타입들
  • guiddef.h - GUID 타입
  • ctype.h - 문자 분류 (표준 C 헤더)
  • string.h - 문자열과 버퍼들 (표준 C 헤더)
  • winbase.h - kernel32.dll: 커널 서비스; advapi32.dll:커널 서비스(예를 들면 CreateProcessAsUser 함수), 접근 제어(예를 들면 AdjustTokenGroups 함수).
  • winerror.h - 윈도우 에러 코드
  • wingdi.h - GDI (그래픽 장치 인터페이스)
  • winuser.h - user32.dll: 사용자 서비스
  • winnls.h - NLS (네이티브 언어 지원)
  • wincon.h - 콘솔 서비스
  • winver.h - 버전 정보
  • winreg.h - 윈도우 레지스트리
  • winnetwk.h - WNet (윈도우 네트워킹)
  • winsvc.h - 윈도우 서비스와 SCM (서비스 제어 관리자)
  • imm.h - IME (입력기)

추가적인 헤더 파일들[편집]

  • cderr.h - CommDlgExtendedError 함수 에러 코드
  • commdlg.h - 일반적인 대화 상자
  • dde.h - DDE (동적 데이터 교환)
  • ddeml.h - DDE 관리 라이브러리
  • dlgs.h - 일반 대화 상자를 위한 다양한 상수들
  • lzexpand.h - LZ (Lempel-Ziv) 압축/압축해제
  • mmsystem.h - 윈도우 멀티미디어
  • nb30.h - NetBIOS
  • rpc.h - RPC (원격 프로시저 호출)
  • shellapi.h - 윈도우 셸 API
  • wincrypt.h - 암호화 API
  • winperf.h - 성능 모니터링
  • winresrc.h - 리소스에서 사용되는
  • winsock.h - Winsock (윈도우 소켓), 버전 1.1
  • winspool.h - 프린트 스풀러
  • winbgim.h - 표준 그래픽 라이브러리

OLE와 COM[편집]

  • ole2.h - OLE (객체 연결 삽입)
  • objbase.h - COM (컴포넌트 오브젝트 모델)
  • oleauto.h - OLE 자동화
  • olectlid.h - 다양한 GUID 정의들

매크로[편집]

여러 매크로들이 windows.h의 행위에 영향을 미친다.

  • UNICODE - 정의되었을 때 TCHAR를 CHAR 대신 WCHAR로 사용되게 하며 모든 타입 관련 API 함수들과 텍스트와 관련된 메시지들을 -A 버전 대신 -W 버전으로 정의한다(이것은 윈도우 C 런타입의 _UNICODE 매크로와 비슷하다).
  • RC_INVOKED - C 컴파일러 대신 리소스 컴파일러(RC.EXE)가 사용될 때 정의된다.
  • WINVER - 새로운 운영 체제에서 사용 가능한 기능들을 활성화할 때 사용된다. 윈도우 XP의 경우에는 0x0501, 윈도우 비스타는 0x0600이 정의된다.
  • WIN32_LEAN_AND_MEAN - 헤더 파일들의 크기를 줄이고 컴파일 속도를 향상시키기 위해 사용된다. 암호화, DDE, RPC, 윈도우 셸 그리고 Winsock 같은 것들을 배제한다.

같이 보기[편집]