Windows Confidential"혼합" 콘텐츠 인식 기능의 향상

Raymond Chen

CD 또는 DVD를 넣을 경우 셸에서 디스크를 "검사"하여 디스크에 있는 콘텐츠 형식을 확인한 후 이를 바탕으로 어떤 자동 실행 동작을 수행할지 결정합니다. 이러한 검사 프로세스는 추후 향상된 알고리즘이 개발되면 변경될 수 있는 추론적 방법을 통해 이루어지기 때문에 구체적인 검사 방법은 문서화되어 있지 않습니다.

알고리즘을 공식적으로 문서화하면 계약의 적용을 받아 후속 릴리스에서 변경하기가 곤란할 수 있습니다. 따라서 구체적인 알고리즘은 공식적으로 지정되어 있지 않습니다.

SDK에 대한 설명서를 작성해 보지 않으면 문서화가 곧 계약을 의미한다는 사실을 알기 어렵습니다. 특정 기능의 구현 방식을 공식적으로 지정하면 해당 기능을 변경할 수 없게 됩니다. 이 경우 문서화된 기능을 변경하면 해당 기능의 사용자가 "설명서와 다르지 않습니까? 경기가 시작된 후에 경기 규칙을 바꾸는 법이 어디 있습니까?"라고 불평할 수도 있으니까요.

이 기사에서는 이러한 걱정은 잠시 제쳐 두고 Windows® XP 서비스 팩 2(SP2)에서 autorun.inf 파일이 없는 데이터 CD와 데이터 DVD의 콘텐츠를 분류하는 방법에 대해 부족하지만 간단하게나마 설명하도록 하겠습니다. 앞으로 릴리스되는 서비스 팩과 Windows 버전은 이 기사에서 설명하는 내용과 다르게 작동할 수 있다는 점을 먼저 밝혀 둡니다. "부족하지만 간단하게" 설명하겠다고 했는데, 그 이유는 실제 알고리즘이 61단계 결정 테이블로 복잡하게 이루어져 있기 때문입니다. 이 알고리즘에서는 포그라운드 응용 프로그램이 "쿼리 취소 자동 실행" 알림에 응답하는지 여부, 전체 화면 프로그램 실행 여부, 컴퓨터가 최근 도킹 또는 도킹 해제된 랩톱인지 여부 등 모든 구체적인 정보가 고려됩니다. 그러나 이 기사에서는 콘텐츠 검사 단계에 대해서만 살펴보겠습니다.

  

먼저 셸에서는 사용자가 모든 콘텐츠 형식에 대한 동작을 "아무 작업 안 함"으로 지정했는지 확인합니다. 이 경우 검사가 수행되지 않고 아무 동작도 실행되지 않습니다.

그렇지 않은 경우 셸은 디스크의 각 파일을 최대 4개의 디렉터리 수준까지 살펴본 후 인식된 형식에 따라 이미지, 음악, 동영상 범주 중 하나로 분류합니다.

이러한 세 가지 범주에 해당하지 않는 파일은 무시됩니다. 디스크의 모든 파일이 음악 파일인 경우와 같이 확인된 모든 파일이 하나의 범주에 해당하면 그에 따라 디스크의 형식이 설정됩니다. 세 가지 범주 중 두 가지 이상에 해당하면 디스크는 혼합 콘텐츠로 인식됩니다.

즉, 음악 파일로 채워져 있는 CD에 앨범 아트가 하나만 포함되어 있어도 해당 CD는 Windows XP SP2에서 혼합 콘텐츠로 취급됩니다. 그런데 이것은 변경이 가능한 기능 중 하나입니다. MP3 파일이 주를 이루고 간간히 그림 파일이 포함된 CD가 혼합 콘텐츠로 인식되지 않도록 이러한 알고리즘을 변경했다고 가정해 보겠습니다. 많은 수의 오디오 파일과 단 몇 장의 그림이 포함된 CD를 사용하는 회사도 있을 수 있습니다. 이러한 회사에서는 CD를 혼합 콘텐츠로 인식하는 기능이 필요합니다. 그러나 알고리즘을 변경하면 이 CD는 음악 CD로 잘못 분류되고 회사는 곤란을 겪게 됩니다. 이 문제는 과연 누구의 탓일까요? 검사 알고리즘의 구체적인 작동 방식만을 믿은 회사의 잘못일까요? 아니면 알고리즘 변경에 대한 책임이 있는 Windows가 잘못된 것일까요?

그런데 놀랍게도 제한적인 범위이기는 하지만 Windows Vista™에서는 이 알고리즘이 변경되었습니다. Windows Vista는 잘 알려진 특정 디스크 레이아웃에 대해 알고리즘을 단순화하기 위해 몇 가지 확인 프로세스가 미리 이루어지도록 구현되었습니다. 예를 들어 디스크의 루트 폴더가 DCIM 폴더인 경우 이 폴더는 디지털 사진으로 구성된 것으로 간주됩니다. 한번 사용해 보면 이를 알게 될 것입니다.

Raymond Chen은 그의 웹 사이트 The Old New Thing(영문)과 같은 제목의 저서(Addison-Wesley, 2007)에서 Windows의 역사와 Win32 프로그래밍에 대해 다루고 있습니다. Raymond는 아직도 태양이 어떻게 생겼는지 궁금해 하는 호기심 많은 소년 같습니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..