소프트웨어 ( 200 ) 는 특정 한 기능 성 을 제공 하 기 위해 하위 계층 ( layer ) 들 을 이용 한 상위 수준 의 계층 들 로 계층 화 된다 . 따라서 , 애플리케이션 소프트웨어 ( 202 ) 는 통상 적 으로 런타임 운영 체제 그래픽 모듈 들 ( 204 ', 206 ' 및 208 '), 또는 UMD 컴포넌트 들 ( 220 및 222 ) 또는 GDI ( 214 ') 에 대한 호출 을 생성 함 으로써 그래픽 을 렌더링 한다 . 그래픽 모듈 들 ( 204 ', 206 ' 및 208 ') 은 모든 제 3 자 ( third party ) 비디오 드라이버 들 에게 공통 적 인 일반 적 인 하드웨어 독립 적 코드 만 을 포함 한다 . 런타임 컴포넌트 들 ( 204 ', 206 ' 및 208 ') 은 순서 대로 UMD 컴포넌트 들 ( 220 및 222 ) 에 대한 API / DDI 호출 을 생성 할 수 있 다 . 데이터 구조 들 에 정의 된 알려진 파라미터 들 은 예 를 들 어 파 퓰레이트된 ( populated ) 구조 들 에 대한 적절 한 포인터 들 에 의해 UMD 컴포넌트 들 ( 220 및 222 ) 에 전달 될 수 있 다 . UMD 컴포넌트 들 ( 220 및 222 ) 는 하드웨어 특정 의 코드 및 구조 를 포함 한다 . 그러나 , 언급 된 바 와 같이 , UMD 컴포넌트 들 ( 220 및 222 ) 은 오직 사용 자 수준 의 접근 권한 을 가지 고 있 다 . UMD 컴포넌트 들 ( 220 및 222 ) 은 KMD 컴포넌트 ( 224 ) 에 의해 제공 되 는 알려진 API / DDI 를 직접 적 으로 이용 하 여 또는 커널 모드 그래픽 코어 소프트웨어 컴포넌트 ( 210 ') 을 통해 KMD 컴포넌트 ( 224 ) 와 통신 한다 .