KR100820849B1 - 디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체 - Google Patents

디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체 Download PDF

Info

Publication number
KR100820849B1
KR100820849B1 KR1020060028254A KR20060028254A KR100820849B1 KR 100820849 B1 KR100820849 B1 KR 100820849B1 KR 1020060028254 A KR1020060028254 A KR 1020060028254A KR 20060028254 A KR20060028254 A KR 20060028254A KR 100820849 B1 KR100820849 B1 KR 100820849B1
Authority
KR
South Korea
Prior art keywords
device driver
driver
setting
property
printer
Prior art date
Application number
KR1020060028254A
Other languages
English (en)
Other versions
KR20060105513A (ko
Inventor
미쓰노리 이이다
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20060105513A publication Critical patent/KR20060105513A/ko
Application granted granted Critical
Publication of KR100820849B1 publication Critical patent/KR100820849B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

정보 처리 장치는 처리부 및 관련 오퍼레이팅 시스템(OS)을 포함한다. 이 정보 처리 장치는 오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고 디바이스 드라이버를 커스터마이즈하는 드라이버 커스터마이즈부를 포함하는 애플리케이션 프로그램을 포함한다. 특정 OS에서 사용하는 프린터 드라이버가 커스터마이즈에 대응하고 있지 않은 경우에, 사용자가 지정한 방식으로 프린터 드라이버에 대응하는 커스터마이즈된 드라이버를 작성할 수 있어, 커스터마이즈를 매우 효율적으로 행할 수 있다.
정보처리장치, 오퍼레이팅 시스템, 디바이스 드라이버, 커스터마이즈

Description

디바이스 드라이버를 커스터마이즈하는 정보 처리장치, 정보 처리방법, 및 기억매체{INFORMATION PROCESSING APPARATUS CAPABLE OF CUSTOMIZING DEVICE DRIVER, INFORMATION PROCESSING METHOD, AND STORAGE MEDIUM}
도 1은 본 발명의 실시예에 따른 인쇄 처리 시스템의 구성을 나타내는 블럭도.
도 2는 애플리케이션 프로그램 및 인쇄 프로그램을 기동하고, 호스트 컴퓨터의 RAM에 프로그램 및 관련된 데이터를 저장한 상태에서 RAM의 메모리 맵을 도시한 도면.
도 3은 커스터마이즈 툴의 유저 인터페이스의 예를 도시한 도면.
도 4는 디폴트 초기 설정치를 지정하는 프린터 드라이버 유저 인터페이스의 예를 도시한 도면.
도 5는 문서 프로퍼티 표시 컨트롤 설정을 위한 유저 인터페이스의 예를 도시한 도면.
도 6은 커스터마이즈 툴의 기본 동작을 나타낸 흐름도.
도 7a 내지 도 7c는 프린터 드라이버와 관련된 인스톨 정보를 기술한 "inf" 파일의 기술내용의 예를 도시한 도면.
도 8은 프린터 드라이버의 커스터마이즈용 유저 인터페이스를 표시하는 처리를 나타낸 흐름도.
도 9는 프린터 드라이버의 UPD 파일의 데이터 포맷을 나타낸 도면.
도 10a는 프린터 드라이버에 설치된 애플리케이션 프로그램 인터페이스(API)의 호출에 관한 처리를 도시한 도면.
도 10b는 API와 대응하는 의사 API와의 관계를 도시한 도면.
도 11은 의사 Windows(등록상표) API의 호출에 관한 처리를 나타낸 흐름도.
도 12는 의사 Windows(등록상표) API의 특정 예인, CSPL_GetVersionEx() 함수를 호출할 경우의 처리를 나타낸 흐름도.
도 13은 커스터마이즈용 프린터 드라이버의 프로퍼티 설정을 위한 유저 인터페이스의 제어 처리를 나타낸 흐름도.
도 14는 디바이스 드라이버와 관련된 커스터마이즈 데이터의 일례를 도시한 도면.
본 발명은, 디바이스 드라이버 및 관련 프로그램이 탑재된 정보 처리장치, 그러한 정보 처리장치를 제어하는 방법, 및 제어 프로그램을 기억한 매체에 관한 것이다.
그러나, 커스터마이즈 대상의 프린터 드라이버를 포함하는 종래의 시스템에서는, 커스터마이즈된 프린터 드라이버를 인스톨하기 위한 인스톨 세트를 작성하는 경우에, 우선, 커스터마이즈되어야 하는 프린터 드라이버를 OS에 인스톨한 후, 그 OS에서 커스터마이즈된 프린터 드라이버를 인스톨하기 위한 인스톨 세트를 작성하는 순서를 기동시킬 필요가 있다.
이 때문에, 정보 처리장치(클라이언트 PC)의 OS를 복수종 포함하는 네트워크 환경에 있어서, 네트워크 관리자가 각 클라이언트 PC용의 커스터마이즈된 드라이버를 작성하는 경우, OS 환경마다 상기와 같은 순서에 의해 커스터마이즈된 드라이버를 작성할 필요가 있다. 이것은, 서로 다른 유형의 다수의 OS에 대하여 커스터마이즈된 드라이버를 작성할 필요가 있는 경우에는 효율적이지 않다. 따라서, 커스터마이즈된 드라이버를 작성하는 프로세스는 작성자에게 큰 부담을 준다.
또한, 종래의 커스터마이즈 기술에서는, 유저 인터페이스(UI)에서의 항목을 디스에이블시키도록 그 항목을 제어하는 것이 가능하지만, 유저 인터페이스로부터 어떤 항목이든지 비표시하는 것은 불가능하다. 커스터마이즈 프린터 드라이버의 유저가 커스터마이즈의 결과로서 혹은 인쇄동작에 있어서 어떤 배타적 설정과의 충돌 결과로서 특정 항목을 디스에이블시킬지 결정하는 것이 어려워져, 유저가 커스터마이즈 동작을 행하는 것이 어렵다.
본 발명은, 상기의 종래기술을 감안해서 이루어진 것으로서, 프린터 드라이 버를 인스톨시키지 않고 커스터마이즈된 드라이버의 인스톨 세트를 작성해서, 작업 효율의 향상을 가능하게 하는 기술을 제공하는 것을 목적으로 한다.
특정 OS에서 사용하는 프린터 드라이버가, 커스터마이즈에 대응하지 않아도, 유저가 지시한 방법으로 프린터 드라이버에 대응하는 커스터마이즈된 드라이버를 작성하는 것이 가능하므로, 매우 효율적으로 커스터마이즈를 행할 수 있다.
특히, 본 발명은 인쇄설정과 관련된 프로퍼티(property)을 포함하는 하나 이상의 프로퍼티를 취득하는 취득 수단과, 오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고, 상기 취득 수단이 취득한 인쇄설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 디바이스 드라이버에 설정하는 설정수단을 포함하는 정보 처리장치를 제공한다.
또한, 본 발명은 인쇄장치를 제어하는 디바이스 드라이버를, 디바이스 드라이버의 프로퍼티의 설정에 의해 커스터마이즈하는 정보처리장치를 제공하는데, 이 정보 처리장치는, 상기 디바이스 드라이버가 커스터마이즈에 대응하고 있는지 판별하는 판별 수단과, 상기 판별 수단이, 상기 디바이스 드라이버가 커스터마이즈에 대응하고 있다고 판별한 경우에, 문서 프로퍼티와 디바이스 프로퍼티를 설정하기 위한 설정 화면을 표시수단에 표시하여 문서 프로퍼티와 디바이스 프로퍼티를 설정하는 설정 수단과, 상기 설정된 디바이스 드라이버의 프로퍼티에 대응하는 데이터를 취득하는 취득수단과, 상기 취득수단에 의해 취득된 데이터를, 상기 설정 수단에 의해 설정된 문서 프로퍼티 및 디바이스 프로퍼티에 근거해 유저 인터페이스에 표시하는 표시 제어 수단을 구비한다.
본 발명의 다른 특징 및 이점은 첨부도면을 참조하여 설명되는 이후의 설명으로부터 분명해질 것이다. 도면에서, 같은 참조부호는 같거나 비슷한 부분을 나타낸다.
이하, 첨부된 도면을 참조해서 본 발명의 적합한 실시예를 설명한다. 또, 본 실시예에서는 PC(Personal Compuer)용 OS(Operating System)인 Microsoft Windows(등록상표)의 프린터 드라이버를 커스터마이즈하는 방법을 예로서 설명한다.
[제 1 실시예]
도 1은 본 발명의 제1 실시예에 따른 인쇄 처리 시스템을 나타내는 블럭도다. 이 인쇄 처리 시스템은, 정보처리장치(이하, 호스트 컴퓨터라고도 함)(3000)와, 이 호스트 컴퓨터(3000)로부터 인쇄 데이터를 수신해서 수신한 프린트 데이터에 따라 인쇄를 행하는 프린터(1500)를 구비하고 있다.
호스트 컴퓨터(3000)에 있어서, CPU(1)은, RAM(2)에 기억되어 있는 프로그램을 따라 시스템 버스(4)에 접속되는 각종 디바이스를 총괄적으로 제어하고 있다. 이 RAM(2)은, CPU(1)가 사용하는 주메모리 혹은 워크 에어리어(work area)로서도 기능하고 있다. ROM(3)은, 각종 프로그램 및 데이터를 저장하고, ROM(3)은 각 프로그램 혹은 데이터를 저장하기 위한 각종 저장 영역을 포함한다. 특히, ROM(3)은 각종 폰트 데이터를 기억하는 폰트 ROM(3a), 부트 프로그램(boot program) 혹은 BIOS를 기억하는 프로그램 ROM(3b), 및 각종 데이터를 기억하는 데이터 ROM(3c)을 포함 한다.
키보드 컨트롤러(KBC)(5)는 키보드(KB)(9)이나 포인팅 디바이스(마우스)(미도시)를 통해서 명령 혹은 데이터의 입력을 제어한다. CRT 컨트롤러(CRTC)(6)는, CRT 디스플레이(CRT)(10)의 표시 동작을 제어한다. 디스크 컨트롤러(DKC)(7)는 하드 디스크 등의 외부 메모리(11)에의 액세스를 제어한다. 프린터 컨트롤러(PRTC)(8)는 쌍방향성 인터페이스(21)를 통해서 프린터(1500)에 접속되어, 호스트 컴퓨터(3000)와 프린터(1500) 간의 통신을 제어한다.
외부 메모리(11)로서는 예를 들면 하드 디스크(HD), MO(Magneto-optic) 혹은 플로피(등록상표)디스크(FD)를 사용해도 된다. 도 1에 나타낸 바와 같이, 외부 메모리(11)는 오퍼레이팅 시스템 프로그램(이하, OS라고 칭함)(205)을 비롯해 각종 애플리케이션(예를 들면 도형 데이터, 이미지 데이터, 문자 데이터, 표 데이터 등이 혼재한 문서를 처리하는 문서 처리 애플리케이션 프로그램)(201), 및 인쇄 처리 관련 프로그램(이하, 인쇄 프로그램이라고 칭함)(204)을 기억하고 있다. 또한, 외부 메모리(11)는, 유저 파일, 편집 파일 등도 기억하고 있다. 인쇄 프로그램(204)은, 페이지 기술 언어를 이용하여 기술된 인쇄 데이터를 생성하는 프로그램이며, 동 계열의 복수의 프린터에 대하여 공통으로 이용될 수 있다. 또한, 이 인쇄 프로그램(204)은, 프린터 제어 커맨드 생성 모듈(이하, 프린터 드라이버라고 칭함)(2041), 프린터 드라이버 유저 인터페이스 제어 모듈(2042)도 포함하고 있다.
본 실시예에 따른 커스터마이즈 툴 프로그램(이하, 단순히, 커스터마이즈 툴이라고 칭함)를 포함하는 애플리케이션(201)은, 외부 메모리(11)로부터 RAM(2)으로 로드되어서 CPU(1)에 의해 실행된다. 또, CPU(1)는, 인쇄 데이터를 아웃라인 폰트(outline font) 데이터로 변환(rasterizes:라스터라이즈)하고, 그 결과의 데이터를 RAM(2)에 저장하여, CRT(10) 위에 WYSIWYG(What You See Is What You Get) 방식으로 그 결과의 데이터를 표시할 수 있다. 또한, CPU(1)은, CRT(10) 상의 특정 포인트를 마우스 커서(미도시)로 클릭함으로써 커맨드가 발생하면, 대응하는 윈도우를 열어, 그 커맨드에 따른 데이터 처리를 행한다. 예를 들어, 유저는 인쇄 동작을 행할 때, 인쇄 설정 화면(프린터 드라이버 유저 인터페이스 제어 모듈(2042)에 의해 제어됨)을 열어, 인쇄 동작을 위한 인쇄 모드를 포함하는 인쇄 조건으로 프린터 드라이버(2041)를 설정한다.
이제는 프린터(1500)의 구성에 관하여 설명한다. CPU(12)는, 일반적으로 프린터(1500)의 전체의 동작을 제어하고 있다. RAM(19)은, CPU(12)가 사용하는 주메모리와 워크 에어리어로서 기능하는 동시에, 출력 정보 저장 영역과, 환경 데이터 저장 영역으로서도 기능할 수 있다. 또, 이 RAM(19)은, NVRAM(Non-Volatile RAM:비휘발성 RAM)영역도 구비하고, 증설 포트(미도시)에 옵션 RAM을 접속시켜 메모리 용량을 확장할 수 있도록 설계되어 있다. ROM(13)은, 각종 폰트 데이터를 기억하는 폰트 ROM(13a), CPU(12)에 의해 실행되는 제어 프로그램을 기억하는 프로그램 ROM(13b), 및 각종 데이터를 기억하는 데이터 ROM(13c)을 구비하고 있다. 입력부(18)는, 호스트 컴퓨터(3000)와 데이터를 송수신한다. 인쇄부 인터페이스(I/F)(16)는, 인쇄부(17)와의 인터페이스로서 기능한다.
외부 메모리(14)로의 액세스는, 메모리 컨트롤러(MC)(20)에 의해 제어된다. 외부 메모리(14)로서 예를 들면 하드 디스크(HD), MO, 플로피(등록상표) 디스크(FD), 혹은 IC 카드를 사용해도 된다. 외부 메모리(14)는 폰트 데이터, 에뮬레이션(emulation) 프로그램, 폼(form) 데이터 등을 기억하기 위해 사용된다. 한편, 하드 디스크 등의 외부 메모리(14)가 접속되지 않은 경우에, ROM(13)의 데이터 ROM(13c)에, 호스트 컴퓨터(3000)에서 이용되는 정보를 기억시킨다. 이 외부 메모리(14)의 수에는 특별한 제한이 없다. 예를 들면, 내장 폰트 데이터뿐만 아니라 옵션 폰트 데이터를 제공하는 옵션 폰트 카드, 혹은 추가 프린터 제어 언어를 해석하는 프로그램을 저장하는 외부 메모리를 접속해도 된다.
조작부(1501)는, 조작 패널을 갖는데, 유저는 이 조작 패널을 통해서 커맨드 혹은 데이터를 입력한다. 그 조작패널은 커맨드를 입력하기 위한 스위치 및 LED 표시기(미도시)를 구비하고 있다. 또한, 조작 패널은 조작 패널을 통해서 입력된 프린터 모드 설정 정보를 기억하는 NVRAM(Non-Volatile RAM:비휘발성 RAM)을 더 구비해도 된다.
CPU(12)는 ROM(13)의 프로그램 ROM(13b)에 기억된 제어 프로그램에 따라, 인쇄부 인터페이스(16)를 통해서 인쇄부(프린터 엔진)(17)에 출력 정보로서의 화상 신호를 출력한다. 또한, CPU(12)는 입력부(18)를 통해서 호스트 컴퓨터(3000)와의 통신 처리가 가능하다. 특히, CPU(12)는 호스트 컴퓨터(3000)로부터 송신되는 인쇄 데이터를 수신하는 동시에, 프린터(1500)의 상태를 표시하는 정보를 호스트 컴퓨터(3000)에 송신하는 것도 가능하다.
도 2는 애플리케이션 프로그램 및 인쇄 프로그램을 기동시키고, 호스트 컴퓨 터(3000)의 RAM(2)에 프로그램 및 관련 데이터를 저장한 상태에서의 RAM(2)의 메모리 맵을 나타내는 도면이다.
RAM(2)에는, 도 2에 나타낸 바와 같이, 애플리케이션(201) 및 인쇄 프로그램(204)이 실행가능하도록 BIOS(206), OS(205), 애플리케이션(201), 인쇄 프로그램(204), 및 관련 데이터(203)가 로드되어 있다. RAM(2)은 빈 메모리 영역(202)도 포함하고 있다. 한편, 인쇄 프로그램(204)에 포함된 프린터 드라이버 유저 인터페이스 제어 모듈(2042)은, 유저에 의해 발생된 인쇄 설정 커맨드에 응답해서 CRT(10) 상에 인쇄 설정 화면을 표시함으로써, 유저는 키보드(9) 등을 이용해서 설정을 행할 수 있게 된다.
도 3은, 커스터마이즈 툴의 유저 인터페이스의 예를 나타내는 도면이다. 커스터마이즈 툴은, Windows(등록상표) 2000/XP/Server 2003상에서 동작하고, Windows(등록상표) 98/ME, Windows(등록상표) NT4.0, 혹은 Windows(등록상표) 2000/XP/Server 2003상에서 동작하도록 설계된 프린터 드라이버를 커스터마이즈할 수 있다. 본 발명은, 이들 오퍼레이팅 시스템에 한정되는 것이 아니라는 점에 유념한다. 또한, 본 발명은 다른 오퍼레이팅 시스템에도 적용되어도 된다. 프린터 드라이버를 인스톨하지 않는 경우에, 의사 API(후에 상세하게 설명한다)에 의해 수행되는 시뮬레이트(simulative) 동작에 의해 특정 OS의 API의 동작이 가상적으로 달성된다. 의사 API는 개별 의사 API 함수의 인수에 의존해서 다르게 동작한다.
도 3에 도시된 커스터마이즈 툴의 유저 인터페이스에 있어서, 유저가 메뉴(301)에서 "OPEN"을 선택하면, 유저가 커스터마이즈된 드라이버 세트를 저장하는 폴더를 지시하도록 다이얼로그 박스(미도시)가 표시된다. 지시된 폴더는, 표시란(302)에 표시되고, 지시된 드라이버 세트가 실행되는 OS가 표시란(303)에 표시된다.
리스트 뷰(305)에는, 커스터마이즈되어야 할 프린터 드라이버의 기종과 각 항목이 커스터마이즈되어 있는지를 표시하는 마크 "ON"이 표시된다. 예를 들어, 체크 박스 310가 체크되면, 버튼 311이 유효가 된다. 이 상태에서, 버튼 311을 클릭하면 프린터 드라이버를 커스터마이즈하기 위한 유저 인터페이스(도 4)가 표시되어, 유저는 인쇄 설정(문서 프로퍼티), 디바이스 설정(프린터 프로퍼티) 등의 디폴트 값에 의하여 설정을 행할 수 있다.
체크 박스 320을 체크하면, 버튼 321이 유효가 된다. 이 상태에서, 버튼 321을 누르면, 유저 인터페이스(도 5)가 표시되어, 유저는 프린터 드라이버 유저 인터페이스에서 항목의 컨트롤 표시 방법을 규정할 수 있다.
버튼 330을 누르면, 커스터마이즈된 드라이버를 작성하는 폴더를 지정하기 위한 다이얼로그 박스(미도시)가 표시되어, 유저는 커스터마이즈된 드라이버를 작성하는 폴더를 지정할 수 있다.
각종 설정을 행한 후, 버튼(340)을 누르면, 그 설정을 따라 커스터마이즈된 프린터 드라이버가 작성된다.
도 4는, 프린터 드라이버의 디폴트 값을 커스터마이즈하기 위한 유저 인터페이스의 예를 나타낸다. 도 3에 도시된 유저 인터페이스에서 버튼(311)을 클릭하면 이 유저 인터페이스가 표시된다.
커스터마이즈 툴은 CPU(1)의 제어 하에, 정보 처리 장치의 설정부로서 기능한다. 특히, 설정부는, 예를 들면 도 4에 도시된 문서 프로퍼티와 디바이스 프로퍼티를 설정하기 위한 유저 인터페이스 화면 등의 설정 화면을 CRT 상에 표시한다.
Windows(등록상표) NT4.0 혹은 Windows(등록상표) 2000/XP/Server 2003에 인스톨된 프린터 드라이버를 설정하기 위한 종래의 유저 인터페이스에서는, 문서 프로퍼티를 설정하는 박스와 디바이스 프로퍼티를 설정하는 박스를 서로 다른 유저 인터페이스 화면에 표시하지만, 그들을 동일한 유저 인터페이스 화면에 표시할 수 없다. 그러나, 본 발명의 실시예에 따른 프린터 드라이버 커스터마이즈 유저 인터페이스에서는, 커스터마이즈 툴이 프린터 드라이버 모듈을 이용해서 유저 인터페이스를 표시하고 있어, 문서 프로퍼티를 설정하기 위한 유저 인터페이스와, 디바이스 프로퍼티를 설정하기 위한 유저 인터페이스를, 같은 유저 인터페이스 화면(도 4)에 표시할 수 있다. 도 4에 나타낸 유저 인터페이스 화면에 있어서, 유저는 "페이지 설정" 페이지(401), "완료" 설정 페이지(402), "급지" 설정 페이지(403), 및 "인쇄 품질" 설정 페이지(404)의 4종류의 유저 인터페이스 페이지로부터 문서 프로퍼티 유저 인터페이스를 선택할 수 있다. 또한, 도 4에 도시된 유저 인터페이스 화면은 프린터 프로퍼티를 설정하기 위한 "디바이스 설정" 페이지(405)를 포함한다. 이들 유저 인터페이스 페이지(401~405)를 통해서, 문서 프로퍼티 및 프린터 프로퍼티의 초기값을 설정할 수 있다.
또한, 도 4에 도시된 유저 인터페이스에서는, 참조번호 410으로 표시된 항목 등의 커스터마이즈 대상이 아닌 항목은 그레이로 표시되고, 그러한 항목의 선택은 디스에이블된다.
도 5는 문서 프로퍼티 표시 컨트롤을 설정하기 위한 유저 인터페이스의 예를 도시한 도면이다. 이 유저 인터페이스는, 도 3에 도시된 버튼 321을 눌렀을 때에, 호스트 컴퓨터(3000)의 CRT(10)상에 표시된다. 도 5에 나타낸 예에 있어서, 이 유저 인터페이스에 의해 유저는 페이지 설정 페이지(501), 완료 설정 페이지(502), 급지 설정 페이지(503), 인쇄 품질 설정 페이지(504), 및 공통 설정 페이지(505)의 각종 항목의 표시에 의하여 설정을 행할 수 있다. 특히, 페이지 설정 페이지(501), 완료 설정 페이지(502), 급지 설정 페이지(503), 및 인쇄 품질 설정 페이지(504)에서는, 도 4에 나타낸 문서 프로퍼티 유저 인터페이스에서의 항목 표시 제어 방법을 규정할 수 있다. 공통 설정 페이지(505)에서는, 표시 제어에 의해서 공통 설정을 행할 수 있다.
풀다운 메뉴(506)는 유효 표시(통상대로의 표시), 무효표시, 혹은 비표시되도록 컨트롤 항목 "Job Operations"의 표시를 설정하기 위한 것이다. 비표시의 예로서는, 컨트롤 항목의 그레이-아웃 표시가 있다. 그리고, 컨트롤 항목은 유저에 의해 동작될 수 없다. 또한, 다른 컨트롤 항목은 문서 프로퍼티를 규정하는 유저 인터페이스에 유효 표시, 무효 표시, 비표시되도록 같은 방법으로 설정될 수도 있다. 이 설정 단계가 완료하면, 커스터마이즈 툴은 설정 완료를 표시하는 정보를 GPD 파일에 기록한다. GPD 파일은 실제로 UPD 파일과 동일한 구조이다. 이 실시예에 있어서, 프린터 드라이버는 GPD 파일 이외에도 UPD 파일을 변경함으로써 커스터마이즈될 수 있다.
커스터마이즈 툴은 CPU(1)의 제어 하에, 정보처리장치의 표시 제어부로서 기능한다. 표시 제어부는 설정된 문서 프로퍼티(컨트롤 항목을 포함)에 따라 각 항목의 유효 표시, 무효 표시 및 비표시로 유저 인터페이스를 제어한다.
다음에, 도 6의 흐름도를 참조하여, 커스터마이즈 툴의 기본 동작에 관하여 설명한다. 한편, 후에 설명되는 기본 동작은, 호스트 컴퓨터(3000)의 CPU(1)에 의해 실행되는 커스터마이즈 툴에 의해 주로 행해진다는 점에 유념하자.
우선, 단계 S601에서, 유저가 커스터마이즈 툴을 기동하면, 커스터마이즈 툴이 초기화된다. 단계 S602에서, 커스터마이즈 툴은, 도 3에서 나타낸 유저 인터페이스 화면을 CRT(10)상에 표시한다. 단계 S603에서, 유저가 커스터마이즈되야 할 프린터 드라이버의 인스톨 세트를 도 3의 유저 인터페이스 화면을 통해서 지정하면, 단계 S604에서, 지정된 인스톨 세트가 체크된다. 특히, 커스터마이즈 툴은, 지정된 인스톨 세트의 체크 시에, 프린터 드라이버와 관련된 인스톨 정보가 기술되어 있는 파일(이하, 그러한 파일을 inf 파일이라고 칭함)의 내용(도 7a 내지 도 7c의 700, 710, 혹은 720)을 검사하여, OS가 지정된 인스톨 세트를 처리할 수 있는지, 그리고 지정된 프린터 드라이버가 커스터마이즈 툴에 의해 커스터마이즈에 대등한 프린터 드라이버인지를 판정한다.
도 7a 내지 도 7c는 프린터 드라이버 인스톨 정보가 기술되어 있는 inf 파일의 내용을 예시한 도면이다. 각 inf 파일은 모듈 정보(미도시)를 포함하고, 모듈 정보에 의거하여 커스터마이즈 툴은, 프린터 드라이버의 유저 인터페이스 처리를 행하는 모듈을 식별하는 것으로 간주한다는 점에 유념하자. 도 7a에서, 참조번호 700은 Windows(등록상표) 98/ME용의 inf 파일의 일부를 나타낸다. 도 7b에서 참조번호 710은 Windows(등록상표) NT4.0용의 inf 파일의 일부를 나타낸다. 도 7c에서 참조번호 720은 Windows(등록상표) 2000/XP/Server 2003용의 inf 파일의 일부를 나타낸다. CPU(1) 에 의해 실행되는 커스터마이즈 툴은, inf 파일(700) 중의 "Signature" 설정(730)을 검사하고, "Signature"가 문자열 리소스 "$CHICAGO$"로서 설정되면, 커스터마이즈 툴은 Windows(등록상표) 98/ME에 의해 프린터 드라이버를 처리할 수 있다고 판정한다.
다른 한편으로, inf 파일(710 혹은 720) 중의 "Signature"(740 혹은 750)가 문자열 리소스 "$Windows NT$"로서 설정되면, 커스터마이즈 툴은, 프린트 드라이버가 Windows(등록상표)NT4.0용 또는, Windows(등록상표) 2000/XP/Server 2003용이라고 판정한다. 또한, 커스터마이즈 툴은, inf 파일(710 혹은 720) 중의 문자열 리소스 "DISK1"(760 혹은 770)가 "NT"를 포함하는지 아닌지를 더 검사한다. "NT"를 포함하고 있으면, 커스터마이즈 툴은, 프린터 드라이버가 Windows(등록상표) NT4.0용이라고 판정하지만, inf 파일(710 혹은 720) 중의 문자열 리소스 "DISK1"(760 혹은 770)가 "NT"를 포함하고 있지 않은 경우에는, 커스터마이즈 툴은, 프린트 드라이버가 Windows(등록상표) 2000/XP/Server 2003용이라고 판정한다.
프린트 드라이버가 커스터마이즈에 대응하고 있으면, 프린트 드라이버와 관련된 inf 파일은, 프린터 드라이버가 커스터마이즈에 대응하고 있다는 것을 나타내는 문자열 리소스를 포함한다. 따라서, 커스터마이즈 툴은, 프린트 드라이버의 inf 파일이, 프린터 드라이버가 커스터마이즈에 대응하고 있다는 것을 나타내는 문자열 리소스를 포함하는지 아닌지를 검사함으로써 프린터 드라이버가 커스터마이즈에 대응하고 있는지 아닌지를 판별한다.
다시 도 6을 참조하면, 단계 S605에서, 프린터 드라이버가 커스터마이즈에 대응하고 있지 않다고 커스터마이즈 툴에 의해 판별되는 경우에는(즉, 단계 605에 대한 대답이 NO이면), 처리를 단계 S610로 진행시켜서,에러 처리를 행한다. 이 에러 처리 후에, 처리가 단계 S603으로 되돌아가, 다시 인스톨 세트를 지정한다.
다른 한편으로, 단계 S605에서, 프린터 드라이버가 커스터마이즈에 대응하고 있다고 커스터마이즈 툴에 의해 판별될 경우에는(즉, 단계 S605에 대한 대답이 YES이면), 처리를 단계 S606으로 진행시키고, 커스터마이즈 툴은, CRTC(6)을 제어해서 CRT(10) 위에 도 3 내지 도 5를 참조하여 설명한 바와 같이, 유저 인터페이스 화면을 표시함으로써, 유저가 프린터 드라이버의 커스터마이즈를 설정하는 것이 가능하다. 도 3 내지 도 5에 나타낸 바와 같은 유저 인터페이스 화면을 통해서 그러한 설정이 행해지면, 그 설정이 행해졌다는 것을 나타내는 커스터마이즈 데이터가 생성된다. 즉, 커스터마이즈 툴은 데이터 홀딩부에 의해 홀딩된 데이터를 후술하는 UPD 파일(혹은 GPD 파일)에 기록한다. 프린터 드라이버는, 호출되면, 커스터마이즈된 UPD 파일이 존재하는지를 판정한다. 프린터 드라이버가, 커스터마이즈된 UPD 파일이 존재한다고 판정한 경우에, 프린터 드라이버는 UPD 파일에 포함된 커스터마이즈된 인쇄 설정 데이터와 UI 제어 데이터를 판독한다. 따라서, 프린터 드라이버의 커스터마이즈 설정이 달성된다. 즉, 커스터마이즈를 위한 설정 정보에 따라, 표시 제어부로서 기능하는 커스터마이즈 툴부는 프린터 드라이버의 UI 모듈을 호출한다. 호출된 UI 모듈에 의해 CRT 표시부(10)는 컨트롤 항목의 표시를 제어하기 위해 사용된 데이터를 가리키고, 후술하는 의사 API를 이용해서 인쇄 설정 정보의 디폴트 값을 표시하는, 도 3 내지 도 5에 도시한 UI 윈도우를 통해서 설정되는 커스터마이즈 정보를 통과시키는 커스터마이즈된 UI 윈도우를 표시한다.
커스터마이즈 데이터는 디바이스 드라이버의 유저 인터페이스의 컨트롤이 표시되어야 하는지 아닌지를 표시하는 컨트롤 데이터, 도 14에 나타낸 것과 같은 디바이스 드라이버의 설정 데이터 등의 각종 데이터를 포함한다.
도 14는 이 설정 데이터(DEVMODE)의 데이터 구조의 예를 나타낸 것이다.
도 14에 나타낸 설정 데이터의 특정 예에 있어서, 용지 방향(dmOrientation), 용지 사이즈(dmPaperSize), 용지 폭(dmPaperWidth), 복사 부수(dmCopies)등이 지정된다. 이 DEVMODE 데이터 구조체는 레지스트리(registry)에 저장되어 있다. 프린터 드라이버(2041)는, 이 레지스트리에 저장된 DEVMODE 데이터 구조체를 통해서 설정된 디폴트 인쇄 설정이나, 마음에 듦 설정을 판독해서 그 설정에 따라 유저 인터페이스를 표시한다.
여기서, 설정된 마음에 듦 설정은, 프린터 드라이버(2041)의 복수의 인쇄설정을 한 개로 통합한 것이다. 유저는, 인쇄 조건의 마음에 듦 설정을 프린터 드라이버(2041)의 유저 인터페이스를 통해서 지정함으로써 원하는 동작 환경을 달성할 수 있다. 예를 들면, 유저가 스탬프(stamping)와 스테이플(stapling)을 종종 사용하는 경우에, 유저는 스테이플과 스탬프 설정을 인쇄 조건 중의 마음에 듦 설정이라고 등록한다. 이 경우에, 인쇄 조건 중의 마듬에 듦 설정을 선택하면, 이들 조건 은, 인쇄 동작에 반영된다. 이러한 데이터를, 프로퍼티 정보의 일부인 커스터마이즈 데이터로서, 기술한다. 이 커스터마이즈 데이터는 커스터마이즈 툴에 의해 홀딩되고, 후술하는 GPD 파일에 기록된다.
도 3 내지 도 5에 나타낸 것과 같은 유저 인터페이스 화면을 통해서, 프린터 드라이버의 커스터마이즈 설정을 행한 후에, 커스터마이즈된 드라이버 작성 커맨드가 발생하면(S607), 커스터마이즈 툴은, 유저 인터페이스 화면을 통해서 지정된 커스터마이즈를 가리키는 커스터마이즈 데이터에 따라 커스터마이즈된 드라이버를 작성한다. 커스터마이즈 데이터는, 프린터 드라이버가 액세스 가능한 GPD 파일에 기술되어 있다는 점에 유념하자. 프린터 드라이버가 가동 가능하게 인스톨되면, 프린터 드라이버는 GPD 파일 내에 기술된 설정 데이터를 판독하고, GPD 파일 내에 지정된 커스터마이즈된 인쇄 조건을 프린터 드라이버에 반영한다. 예를 들면, 양면 모드와, 2-in-1 레이아웃에서 인쇄를 행해야 하는 것을 설정 데이터가 표시하면, 프린터 드라이버는 설정 데이터에 따라 설정된다. 따라서, 간단히 커스터마이즈된 드라이버를 인스톨함으로써 유저가 원하는 대로 커스터마이즈된 인쇄 조건에 의하여 프린터 드라이버를 디폴트 값으로 쉽게 재설정하는 것이 가능하다.
커스터마이즈 툴은 CPU(1)의 제어 하에, 정보처리장치의 생성부로서 기능한다. 특히, 생성부는 지정된 문서 프로퍼티 또는 디바이스 프로퍼티를, 프린터 드라이버(디바이스 드라이버)의 정보 파일에 기록하고, 본래의 디바이스 드라이버로부터 커스터마이즈된 디바이스 드라이버를 생성한다.
즉, 커스터마이즈 툴은, 커스터마이즈 드라이버를 작성하는 폴더에, 지정된 인스톨 세트를 먼저 복사한 후, 복사된 인스톨 세트에 포함되어 있는 드라이버 정보 파일(이 파일을 UPD 파일이라고도 칭함)에 커스터마이즈 데이터를 기록하는 것으로 커스터마이즈된 드라이버를 작성한다.
도 9는, 프린터 드라이버의 파일 중 하나인 드라이버 정보 파일(UPD 파일)의 데이터 포맷을 나타낸 것이다. 도 9에 나타낸 바와 같이, UPD 파일은 헤더(901), ID 정의 영역(902), 및 데이터 영역(903)을 포함한다. ID 정의 영역(902)에는, 데이터 영역(903)에 저장되어 있는 데이터의 ID와 데이터의 어드레스와의 세트가 기술되어 있다. ID 정의 영역(902)에는 ID의 수에 해당하는 만큼의 세트가 기술되어 있다. 본 실시예에 있어서, 커스터마이즈 툴은, 커스터마이즈용에 정의된 ID에 대응하는 데이터 값을 변경한다. 한편, ID 정의 영역(902)에, 사용하고 싶은 커스터마이즈 데이터의 ID가 정의되어 있지 않은 경우에는, 그 커스터마이즈 데이터에 대응하는 새로운 ID가 ID 정의 영역(902)에 추가된다.
각 디바이스 드라이버(프린터 드라이버)마다 (각 기종마다) 한 개의 UPD 파일이 존재한다는 점에 유념한다. 따라서, 각 기종마다 커스터마이즈를 행하는 것이 가능하다. 또한, 다른 기종에 대한 기존 커스터마이즈된 드라이버 세트를 변경함으로써, 특정 기종의 디바이스 드라이버를 커스터마이즈하는 것도 가능하다. ID 정의 영역(902)에서는 커스터마이즈용의 ID를 사용하고 있기 때문에, 새로운 버전의 프린터 드라이버에, 그 이전에 커스터마이즈한 프린터 드라이버의 설정을 이어받을 수도 있다.
커스터마이즈된 프린터 드라이버는, 커스터마이즈 툴에 의해, 커스터마이즈 데이터가 기술된 UPD 파일을, 프린터 드라이버를 인스톨할 때 혹은 프린터 드라이버를 첫회 기동할 때 판독한 후에, UPD 파일의 ID 정의 영역(902)에 기술되어 있는 특정된 ID에 대응하는 데이터(903)를 데이터 영역(903)으로부터 판독함으로써 설치된다. 여기에서는 커스터마이즈 툴에 의해 작성된 UPD 파일의 ID 정의 영역(902) 내에, "CUSTOMIZED"가 ID로서 기술되어 있고, 그 ID "CUSTOMIZED"에 대응하는 데이터의 위치를 나타내는 어드레스로서 X가 기술되어 있고 가정하자.
커스터마이즈 대응의 프린터 드라이버는 인스톨 완료 혹은 첫회 기동 시에, ID 정의 영역(902) 내에서 "CUSTOMIZED"가 ID 정보로서 검출되면, 프린터 드라이버는 ID 정보에 대응하는 어드레스에서 데이터를 판독한다. 특히, 이 특정 실시예에 있어서는, 프린터 드라이버가 인스톨 완료 혹은 첫회 기동 시에, ID 정의 영역(902) 내에서 "CUSTOMIZED"가 ID로서 검출되면, 프린터 드라이버는 "CUSTOMIZED"에 대응하는 어드레스 X에서 데이터를 판독한다. 계속해서, 그 프린터 드라이버는, 이 어드레스 X에서의 데이터 영역(903)으로부터, 드라이버 설정 데이터의 주요 부분인 디바이스 모드 데이터 구조를 더 판독한다. 한편, 여기에서는 어드레스 X가 데이터 영역(903)의 첫 번째 어드레스에 관한 절대값 혹은 오프셋 어드레스에 기술되어 있다는 점에 유념하자. 후자의 경우에, 데이터 영역(903)의 첫 번째 어드레스의 절대값은 헤더(901)에 기술되어 있다.
커스터마이즈 툴은 CPU(1)의 제어 하에, 정보처리장치의 표시 제어부로서 기능한다. 표시 제어부로서 작용하는 커스터마이즈 툴은, 프린터 드라이버의 기동 시에, 프린터 드라이버의 드라이버 정보 파일을 판독하고, 그 드라이버 정보 파일에 기술되어 있는 데이터에 따라 유저 인터페이스를 CRT(10)상에 표시한다.
본 실시예에 있어서, 커스터마이즈 툴은, 커스터마이즈 데이터로서, 문서의 디폴트 설정을 규정하는 문서 프로퍼티의 초기값 데이터(도 4의 설정 박스 401~404에 의해 설정된 데이터), 디바이스의 설정을 규정하는 프린터 프로퍼티의 초기값 데이터(도 4의 설정 박스 405에 의해 설정된 데이터), 및 유저 인터페이스에서 문서 프로퍼티와 관련된 항목의 컨트롤 표시 방법을 표시하는 데이터(도 5의 유저 인터페이스에 의해 설정된 데이터)를 UPD 파일에 기록한다. 커스터마이즈된 프린터 드라이버는, 인스톨 완료 혹은 첫회 기동 시에, 커스터마이즈 툴에 의해 작성된 UPD 파일을 판독하고, UPD 파일에 기술된 커스터마이즈 정보에 따라 동작한다. 이것에 의해 커스터마이즈된 프린터 드라이버를 용이하게 실현할 수 있다.
즉, 인쇄장치를 제어하도록 구성되며, 그 프로퍼티(문서용의 설정을 규정하는 문서 프로퍼티와 관련된 초기값 데이터와, 디바이스용의 설정을 규정하는 프린터 프로퍼티와 관련된 초기값 데이터)의 설정에 의해 커스터마이즈하는 디바이스 드라이버(프린터 드라이버)는, 디바이스 드라이버가 커스터마이즈에 대응하고 있는지를 판별하는 판별부와, 판별부에 의한 판별에 의해, 디바이스 드라이버가 커스터마이즈에 대응하고 있다고 판별될 경우, 문서 프로퍼티와 디바이스 프로퍼티를 설정하기 위한 설정 화면(도 3 내지 도 5)을 CRT(10)상에 표시하는 설정부와, 디바이스 드라이버 프로퍼티에 대응하는 데이터를 취득하는 취득부와, 취득부에 의해 취득된 데이터를, 설정부에 의해 설정된 디바이스 드라이버의 프로퍼티에 근거하여 유저 인터페이스에 표시하는 표시 제어부를 구비하는 정보 처리장치에 설치되어도 된다.
또, 정보처리장치는, 인쇄와 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 취득하는 취득부와, 오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고, 취득부가 취득한 인쇄와 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를, 디바이스 드라이버가 액세스 가능하도록, 디바이스 드라이버에 설정하는 설정부를 포함할 수도 있다. 정보처리장치에 있어서, CPU(1)의 제어 하에, 커스터마이즈 툴을 실행함으로써, 상기의 각 부에 의한 처리가 실행된다.
다시 도 6을 참조하면, 커스터마이즈된 드라이버가 작성된 후에(S608), 유저로부터 종료 커맨드가 발행하면(S609), 커스터마이즈 툴의 동작을 종료한다(S611).
다음에, 도 8의 흐름도를 참조하여, CPU(1)의 제어 하에, 커스터마이즈 툴이, 프린터 드라이버의 커스터마이즈용 유저 인터페이스를 표시하는 처리에 관해서 설명한다. 이러한 처리는 호스트 컴퓨터(3000)의 CPU(1)에 의해 실행되는 커스터마이즈 툴에 의해 주로 실행된다는 점에 유념하자.
도 3의 버튼(311)이 눌러지면, 커스터마이즈 툴은, 프린터 드라이버의 유저 인터페이스 처리를 행하고 있는 모듈을 inf 파일에 포함되어 있는 모듈 정보에 근거해서 특정한다. 커스터마이즈 툴은 커스터마이즈 툴로부터 모듈의 호출이 가능하게, 특정된 모듈을 메모리로 로드한다(S801).
다음에, 단계 S802에서, 프린터 드라이버의 모듈이 엑스포트(export)하고 있는 함수의 어드레스를 취득해(S802), 커스터마이즈 툴과, 커스터마이즈 대응의 프린터 드라이버와의 사이에서 정보를 송신하기 위한 구조체인 CSPL 구조체(미도시) 를 초기화한다(S803). CSPL 구조체는, 프린터 드라이버가 인스톨되어 있지 않은 상태에서도 프린터 드라이버와 관련된 유저 인터페이스 처리가 가능하게 각종 정보를 포함하고 있다.
그 후에, 단계 S804에서, 프로퍼티 시트(드라이버의 커스터마이즈용의 유저 인터페이스)를 표시한다. 이 단계에서는, 문서 프로퍼티 페이지 혹은 프린터 프로퍼티 페이지 중 하나를 유저 인터페이스 화면에 표시하도록 프로퍼티 시트 표시 함수를 호출한다. 도 4에 나타낸 바와 같이, 어떤 필요한 프로퍼티 페이지를 동일한 단 하나의 시트 상에 표시하는 것이 가능하다는 점에 유념하자.
드라이버의 커스터마이즈용의 유저 인터페이스가 유저에 의해 닫히면, 드라이버의 커스터마이즈용의 유저 인터페이스를 통해서 이루어진 설정을 표시하는 정보가 CSPL 구조체에 기술되어 있고, 커스터마이즈 툴은 대응하는 프린터 드라이버와 관련된 정보를 CSPL 구조체(DeviceOption 구조체, Devmode 구조체를 포함)로부터 취득한다(S805).
커스터마이즈 툴은, CPU(1)의 제어 하에, 문서 프로퍼티 또는 디바이스 프로퍼티(디바이스 드라이버에 설정가능한 프로퍼티)에 대응하는 프린터 드라이버 프로퍼티를 취득하는 취득부로서 기능한다. 특히, 취득부는, 데이터 저장부와 데이터를 송수신함으로써 프린터 드라이버와 관련된 정보를 취득하는데, 이 데이터 저장부에는 프린터 드라이버의 설정과 관련된 데이터가 CSPL 구조체의 형태로 기술되어 저장되어 있다. 즉, 취득부는, 유저 인터페이스 화면(도 3 내지 도 5)에 의해 설정된 문서 프로퍼티 및/또는 디바이스 프로퍼티에 대응하는 데이터(CSPL 구조체)를 데이 터 저장부에 저장하고, 계속해서 취득부는 데이터 저장부로부터 프로퍼티에 대응하는 프린터 드라이버와 관련된 정보를 커스터마이즈용의 설정 정보로서 취득한다. 이 커스터마이즈용의 설정 정보에 의거하여, 표시 제어부로서의 커스터마이즈 툴은, 문서 프로퍼티 및 디바이스 프로퍼티에 따라 커스터마이즈된 유저 인터페이스를 CRT(10)상에 표시한다.
커스터마이즈용의 설정 정보로서, 프린터 프로퍼티와 관련된 설정 정보가, DeviceOption 구조체(미도시)에 저장되고, 문서 프로퍼티와 관련된 설정 정보가, Devmode 구조체(미도시)에 저장되어 있으며, 커스터마이즈 툴은, DeviceOption 구조체 및 Devmode 구조체로부터 이러한 커스터마이즈용의 설정 정보를 취득한다.
그 후에, 단계 S806에서는, 단계 S801에서, 메모리에 로드된 모듈을 언로드(unload)하고, 드라이버의 커스터마이즈용의 유저 인터페이스의 표시를 종료한다(S807).
프린터 드라이버가 실행되는 OS의 유형에 의존하여 상술한 처리를 다소 다르게 수행한다. 예를 들면, Windows(등록상표) NT4.0과 Windows(등록상표) 2000/XP/Server 2003은, 드라이버 유저 인터페이스를 표시하기 위해 Common Property Sheet UI를 이용하므로, 이들 OS에서는, 필요한 사전처리를 해서, Common Property Sheet UI 함수의 호출을 행하고 있다. 다른 한편으로, Wlndows(등록상표) 98/ME의 경우에는, 필요한 사전처리를 해서, Property Sheet 함수를 호출한다. 어떤 경우든지, 도 8에 나타낸 흐름도를 참조하여 상기에 설명한 방법으로 기본적인 처리를 행한다.
도 10a는, 프린터 드라이버에 설치된 Windows(등록상표) Application Program Interface(API)의 호출 처리를 나타낸 것이다. 프린터 드라이버가 인스톨되어 있는 경우에는, 프린터 드라이버의 유저 인터페이스 처리(1010)에 있어서, 통상적인 방법으로 Windows(등록상표) API(도 10a에서는, 간단히 "API"이라고 표시)을 호출한다. 그러나, 커스터마이즈에 대응한 프린터 드라이버가 인스톨되지 않은 상태에서 Windows(등록상표) API을 호출하는 경우에는, 호출된 Windows(등록상표) API에 대응하는 의사 Windows(등록상표) API(1060)(도 10a에서는, 단순히 "의사 API"라고 표시)은 그 호출에 응답해서, 호출된 Windows(등록상표) API에 의해 수행되는 처리를 시뮬레이트한다. 그 결과를 프린터 드라이버 유저 인터페이스 처리(1010)로 되돌려 보낸다.
도 10b에 있어서, 표 1030은, Windows(등록상표) APIs(도 10b에서는 간단히 "API"라고 나타냄)와 의사 Windows(등록상표) APIs(도 10b에서는 간단히 "의사 API"라고 나타냄)와의 대응관계를 나타낸다. 이 대응관계는, 인스톨되어 있는 프린터 드라이버에 미리 설정해 둘 수도 있다. 통상적으로, 프린터 드라이버에 대한 유저 인터페이스를 제어하는 프로그램은 프린터 드라이버에 입력된 데이터에 따라 Windows(등록상표) API를 호출하도록 되어 있다. 본 실시예는, 프린터 드라이버가 인스톨되어 있지 않은 상태에서는 Windows(등록상표) API를 호출할 수 없지만, 의사 API를 호출할 수 있도록 되어 있다.
의사 Windows(등록상표) API를, 커스터마이즈 툴로부터 호출한 경우, 의사Windows(등록상표) API가 대응하는 Windows(등록상표) API에 의해 수행되는 처리를 시뮬레이트해서 그 처리결과를 프린터 드라이버 유저 인터페이스 처리(1010)로 되돌려 보낸다. 다른 한편으로, OS에 프린터 드라이버가 인스톨되어 있는 일반적인 상태에서 API를 호출하는 경우에, Windows(등록상표) API(1020)는 그 호출에 응답해서, 처리결과를 프린터 드라이버 유저 인터페이스 처리(1010)로 되돌려 보낸다.
도 11은 의사 Windows(등록상표) API(도 11에서는 간단히 "의사 API라고 나타냄)의 호출에 관한 처리를 나타내는 흐름도이다. 이러한 처리를, 호스트 컴퓨터(3000)의 CPU(1)에 의해 실행되는 커스터마이즈 툴에 의해 주로 행한다는 점에 유념하자. 우선, 단계 S1110에서, 커스터마이즈 툴은, Windows(등록상표) API의 인수에 포함된 프린터 핸들(인수)이, 커스터마이즈 툴로부터의 호출에 응답하여 전송되는 CSPL 구조체의 어드레스 정보(이하, 그러한 어드레스 정보를 간단히 "어드레스 정보"라고 함)와 동일한 것인지를 판별한다. CSPL 구조체의 선두 맴버는 CSPL 구조체의 사이즈를 나타낸다. 따라서, 주어진 프린터 핸들(인수)이 CSPL 구조체의 사이즈와 일치하는 경우에는, 인수로서 주어진 프린터 핸들은 CSPL 구조체의 어드레스로서 간주된다(즉, 단계 S111O에 대한 대답이 YES이다). 프린터 드라이버의 UI 모듈은, 처리 결과를 나타내는 데이터, 예를 들면 인쇄 설정 항목의 값을 나타내는 데이터와, 핸들에 의해 지시된 구조체에서, UI를 통해서 입력되는 제어 표시의 지시를 저장한다. 그 후에, 그 처리를 종료한다.
인수로서 주어진 프린터 핸들이 CSPL 구조체의 어드레스와 일치하지 않는 경우(즉, 단계 S1110에 대한 대답이 NO이면), 일반적인 프린터 드라이버의 동작과, 대응하는 Windows(등록상표) API(도 11에서 단순히 "API"라고 나타냄)에서, 호출을 행한다고 판별한다(단계 S1120). 단계 S1120 후에, 처리를 종료한다.
단계 S1110의 판별에 있어서, 인수로서 주어진 프린터 핸들이 CSPL 구조체의 어드레스와 일치하는 경우에(즉, S1110에 대한 대답이 YES이면), 처리를 단계 S1130로 진행시키고, 커스터마이즈 툴은 프린터 드라이버가 인스톨되어 있지 않은 상태에서, Windows(등록상표) API를 호출한다. 실제로, 프린터 드라이버를 인스톨하지 않은 상태에서는, Windows(등록상표) API를 호출할 수 없으므로, 의사 Windows(등록상표) API는 Windows(등록상표) API에 의해 수행되는 것과 같은 방식의 처리를 수행하고(S1130), 그 처리결과를 프린터 드라이버 유저 인터페이스 처리(1010)로 되돌려 보낸다. 단계 S1130 후에, 처리를 종료한다.
이상의 처리에 의해, 커스터마이즈 툴은 CPU(1)의 제어 하에, 정보처리장치의 선택부로서 기능한다. 특히, 선택부는, 데이터 저장부(CSPL 구조체)에 저장되어 있는 어드레스 정보(선두 어드레스)에 의거하여 사용하는(호출해야 할) 애플리케이션 프로그램 인터페이스(Windows(등록상표) API, 또는 의사 Windows(등록상표) API)을 선택한다.
도 12는 의사 Windows(등록상표) API의 처리의 특정 예를 나타내는 흐름도이다. 이 특정 예에 있어서, 의사 Windows(등록상표) API로서 프린터 드라이버로부터 함수 CSPL_GetVersionEx()를 호출한다. 이러한 처리는 호스트 컴퓨터(3000)의 CPU(1)에 의해 실행되는 커스터마이즈 툴에 의해 행해진다는 점에 유념하자. 이 특정 경우에 있어서, 함수 CSPL_GetVersionEx()는 Windows(등록상표) 함수 GetVersionEx()(도 10b의 표 1030을 참조)를 시뮬레이션하는데, 이 Windows(등록상 표) 함수 GetVersionEx()는 호스트 컴퓨터상에서 동작하고 있는 OS의 버전을 나타내는 정보를 프린터 드라이버 유저 인터페이스의 처리(1010)로 되돌려 보내는 함수이다.
우선, 단계 S1210에 있어서, 커스터마이즈 툴에서의 CSPL_GetVersionEx() 함수는, 함수의 인수로서 주어진 프린터 핸들이, 함수 호출시에 전달되는 CSPL 구조체의 어드레스와 일치하는지를 판별한다. 프린터 핸들이 CSPL 구조체의 어드레스와 일치하지 않는 경우에는(즉, S1210에 대한 대답이 NO이면), 처리를 단계 S1220로 진행시키고, 커스터마이즈 툴은 일반적인 방법으로 프린터 드라이버의 Windows(등록상표) API 함수 GetVersionEx() 1040를 호출한다(단계 S1220). 이 판별방법은 도 11에 나타낸 단계 1110에서 기술된 것과 유사하다. 단계 S1220 후에, 처리를 종료하다.
다른 한편으로, 단계 S1210의 판별에 있어서, 프린터 핸들이 CSPL 구조체의 어드레스와 일치하는 경우에(즉, S1210에 대한 대답이 YES이면), 처리를 단계 S1230로 진행시키고, 함수 GetVersionEx()의 처리를 가상적으로 CSPL 구조체 내에 저장되어 있으며 프린터 드라이버에 대응하는 OS와 관련된 정보에 근거해서 행한다(함수 GetVersionEx()에 의해 행해지는 것과 같은 방식으로 처리를 행한다.)(단계 S1230).
유저 인터페이스 화면(도 3 내지 도 5)을 통해서 설정된 문서 프로퍼티 또는 디바이스 프로퍼티에 대응하는 애플리케이션 프로그램 인터페이스(의사 Windows(등록상표) API)를 호출하는 경우에, 문서 프로퍼티 또는 디바이스 프로퍼티에 대응하 는 프린터 드라이버의 처리를 가상적으로 행한다(대응하는 Windows(등록상표) API에 의해 수행되는 것과 같은 방법으로 처리를 실행한다).
단계 S1230, 또는 단계 S1220의 처리가 완료되면, 도 12의 흐름도의 처리를 종료한다.
CSPL_GetVersionEx() 함수는 GetVersionEx() 함수에 의해 획득된 것과 같은 처리 결과를 단계 S1230에서의 프린터 드라이버 UI 모듈로 되돌려 보낸다. 다른 함수에 대해서도 동일한 것이 적용된다. 예를 들면, 커스터마이즈 툴이 Windows(등록상표) 2000/XP/Server 2003으로 실행될 때, Windows(등록상표) 98/ME 등의 다른 OS의 드라이버 모듈의 유저 인터페이스 처리를 행하는 함수를, 커스터마이즈 툴로부터 호출하면, OS 버전을 나타내는 정보를 가진 CSPL 구조를 검사하고, OS가 Windows(등록상표) 98/ME라는 것을 나타내는 OS 버전 정보를 되돌려 보냄으로써, Windows(등록상표) 98/ME의 드라이버 모듈의 유저 인터페이스의 처리를 어떤 문제도 없이 제어하는 것이 가능하다.
즉, 커스터마이즈되어야 하는 대상은 Windows(등록상표) 98/ME의 프린터 드라이버이며, 드라이버 정보는 예를 들면 INF 파일 및 드라이버 유저 인터페이스 모듈에 의해 제공된다. 본 실시예에 있어서, 커스터마이즈 툴은 Windows(등록상표) 2000/XP/Server 2003에 의해 지지된다. 커스터마이즈 툴이 실행되는 환경은 이들 OS 중 하나에 의해 제어되는 것으로 가정한다. CSPL 구조체는, 도 8에 도시된 단계 S803에서 초기화된다. 이때, 예를 들어 드라이버 모듈을 지지하는 OS가 Windows(등록상표) 98/ME라는 것을 나타내는 정보는, OS의 버전을 나타내는 OS 버 전 정보로서 CSPL 구조체에 기록된다. 결과적으로, CSPL 구조체는, 드라이버 모듈을 지지하는 OS가 Windows(등록상표) 98/ME라는 것을 나타내는 정보(즉, OS 버전 정보)를 포함한다. 따라서, CSPL_GetVersionEx() 함수는 CSPL 구조체에 포함된 OS 버전 정보를 액세스하고, "Windows(등록상표) ME"을 나타내는 값을 호출 프린터 드라이버 UI 모듈로 되돌려 보낸다. 어떤 다른 Windows(등록상표) 함수를 호출하는 경우에도, 같은 방식으로 호출을 처리한다. 따라서, 프린터 드라이버가 인스톨되어 있지 않은 상태에서, Windows(등록상표) API를 호출하는 경우에, 대응하는 의사 Windows(등록상표) API 함수를 실행하여 호출된 Windows(등록상표) API 함수를 시뮬레이트함으로써, Windows(등록상표)의 동작을, 문제점을 일으키지 않고, 가상적으로 유저 인터페이스 동작에 반영시킨다.
명시적으로 설명되어 있지 않지만, Windows(등록상표) 98/ME의 프린터 드라이버는 16비트 환경에서 동작하는 모듈이다. 따라서, 그것의 유저 인터페이스 처리도 16비트 환경에서 실행된다. 그러나, 본 실시예에 있어서는 Windows(등록상표) 98/ME의 프린터 드라이버의 유저 인터페이스 처리를, 싱크-업(sink-up) 변환이라고 불리는 16비트 내지 32비트 변환 기구를 이용해서 32비트 환경에서 행하고 있다. 즉, 본 실시예에서는, 커스터마이즈 툴이 32비트 환경에서 유저 인터페이스 함수를 호출해서, Windows(등록상표) 98/ME의 유저 인터페이스를 표시 및 제어한다.
특히, 커스터마이즈 툴은, 프린터 프로퍼티를 포함하는 프로퍼티를 취득하고, 결과의 디바이스 드라이버가 판독 가능하도록, 디바이스 드라이버에 프로퍼티를 설정한다. 이러한 프로퍼티의 설정은, 디바이스 드라이버가 가동 가능하록 오퍼 레이팅 시스템에 디바이스 드라이버를 등록하지 않고, 행해진다는 점에 유념한다. 즉, 프로퍼티 설정을 행한 경우에, 디바이스 드라이버는, 오퍼레이팅 시스템에 의해 관리되는 파일 시스템의 유저 영역에 저장된다. 또, 디바이스 드라이버가 가동 가능하도록 디바이스 드라이버를 등록하는 것은, 오퍼레이팅 시스템의 관리자에 의해, 오퍼레이팅 시스템이 디바이스 드라이버를 인식할 수 있게 오퍼레이팅 시스템이 관리하는 레지스트리 영역에 등록해서 디바이스 드라이버를 인스톨함으로써 달성된다. 프로퍼티는 커스터마이즈 툴에 의해 UPD 파일에 저장된다. 생성된 UPD 파일은 커스터마이즈되어야 하는 프린터 드라이버, 프린터 드라이버 UI 모듈, 및 INF 파일과 함께 인스톨 세트를 구성한다. 생성된 인스톨 세트는 기록 매체 및 통신 매체를 통해서 클라이언트 컴퓨터의 각각에 분산된다. 설치자는 INF 파일에 기술된 정보에 따라 인스톨을 수행한다. 설치자는 UPD 파일로부터 판독된 각 설정 항목에 대응하는 값을, devmode 구조체 및 deviceOption 구조체의 각각의 대응하는 항목의 값으로서 복사한다. 프린터 드라이버 및 프린터 드라이버 UI 모듈은 devmode 구조체 및 deviceOption 구조체에 저장된 항목의 각각의 값을 참조하여 동작한다.
전술한 처리는, 애플리케이션 프로그램 중 하나인 커스터마이즈 툴에 의해 실행된다. 커스터마이즈 툴이 디바이스 드라이버를 통해서 정보를 수신하면, 커스터마이즈 툴은 오퍼레이팅 시스템을 대리해서 디바이스 드라이버에 응답한다.
디바이스 드라이버는 커스터마이즈 툴로부터의 대리 응답을 오퍼레이팅 시스템으로부터 수신된 것으로 간주하고, 디바이스 드라이버는 유저가 입력한 커맨드 혹은 데이터에 따라 다음 설정 처리를 계속한다.
이 커스터마이즈 툴은 프린터 드라이버용의 의사 API에 의해 실현된다는 점에 유념하자. 커스터마이즈 툴은 서로 다른 형태의 오퍼레이팅 시스템(Windows(등록상표) NT, Windows(등록상표) 95 등)가 사용하는 복수의 디바이스 드라이버용의 인쇄 프로퍼티를 포함하는 프로퍼티를 설정할 수 있다.
커스터마이즈 툴은 동시에 복수의 디바이스 드라이버용의 커스터마이즈 툴이 취득한 인쇄설정과 관련된 정보를 설정할 수 있다.
상술한 바와 같이, 본 실시예에 따른 의사 API에 의해, 커스터마이즈 툴이 오퍼레이팅 시스템을 대리해서 디바이스 드라이버에 응답함으로써 디바이스 드라이버가 실제로 오퍼레이팅 시스템에 가동 가능하게 인스톨되어 있는 상태에서 오퍼레이팅 시스템이 제공한 것과 같은 응답을 디바이스 드라이버가 수신한다. 만약 커스터마이즈 툴이 상술한 방식으로 디바이스 드라이버에 응답하지 않으면, 디바이스 드라이버는 에러 처리를 수행할 것이다. 따라서, 상술한 바와 같이, 본 발명에 따른 커스터마이즈 툴은 디바이스 드라이버를 인스톨하지 않고, 커스터마이즈 처리를 수행하는 능력을 갖고 있다.
도 13은 커스터마이즈용의 프린터 드라이버의 프로퍼티 설정에 관한 유저 인터페이스 제어의 처리를 나타내는 흐름도다. 이러한 처리는 호스트 컴퓨터(3000)의 CPU(1)에 의해 실행되는 커스터마이즈 툴에 의해 주로 수행된다는 점에 유념하자. 도 13에 나타낸 순서에서는, 도 11 및 도 12에 나타낸 의사 API 함수를 호출한다. 따라서, 프로퍼티 시트의 표시, 파라미터의 취득, 및 세트 값의 입력을 실현한다.
우선, 단계 S1300에서, 유저 인터페이스 제어 커맨드가 입력되면, 커스터마 이즈 툴을 기동한다. 단계 S1310에서는, 유저 인터페이스를 초기화한다. 단계 S1320에서는, 유저 인터페이스 표시와 관련된 커스터마이즈 정보가, 도 9에 나타낸 드라이버 정보 파일에 기술되어 있다고 판별되면(즉, S1320에 대한 대답이 YES이면), 처리를 단계 S1330로 진행시키고, 커스터마이즈 정보는 유저 인터페이스의 표시(예를 들면, 커스터마이즈 정보에 따라 항목을 유효표시, 무효표시 혹은 비표시한다)에 반영된다. 그 처리는 유저가 수행하는 조작을 대기시키는 대기 상태로 한다(S1340). 한편, 커스터마이즈 정보가 없으면(즉, S1320에 대한 대답이 NO이면), 단계 S1330을 스킵하고, 처리를 대기 상태로 한다(단계 S1340).
유저에 의한 조작이 이루어지면(S1340), 유저 인터페이스를 닫는 커맨드가 발생되었는지를 판별한다(S1350). 단계 S1350에 대한 대답이 YES이면, 유저 인터페이스의 처리를 종료한다(S1370). S1350에 대한 대답이 NO이면, 유저가 제공한 커맨드/데이터에 따라 유저 인터페이스를 제어한다(S1360). 단계 S1360 후에, 처리는 단계S1320으로 되돌아온다. UI를 통해서 입력된 프로퍼티 정보는 CSPL 구조체를 통해서 프린터 드라이버 정보 파일(즉, UPD 파일)에 다시 저장된다. 이때, 도 3에 나타낸 커스터마이즈 코드(Z)가 예비 식별 코드와 함께, 프린터 드라이버 정보 파일에 저장된다.
예를 들면, (도 5에 나타낸 화면을 통해서 지정된) 유저 인터페이스의 표시를 제어하는 방법을 나타내는 커스터마이즈 데이터가, 도 9에 나타낸 것과 같은 드라이버 정보 파일 내에 기술되어 있는 경우에는, 그 커스터마이즈 데이터에 따라, 유저 인터페이스의 표시가 제어된다.
본 실시예에서는 커스터마이즈 정보를 UPD 파일이라고 불리는 드라이버 정보 파일에 기록하지만, 반드시 커스터마이즈 정보를 UPD 파일에 기록할 필요는 없다. 그 파일이 프린터 드라이버에 의해서 판독 및 해석 가능한 파일이면, 커스터마이즈 정보는 다른 형태의 파일에도 기록될 수 있다. 차기 버전의 Windows(등록상표) 시스템인 Longhorn에 있어서는 프린터 드라이버의 드라이버 정보 파일로서 GPD 파일을 사용할 것이다. 이 GPD 파일 내에 커스터마이즈 정보를 기술해도 된다.
본 실시예 에 의하면, 디바이스(프린터) 드라이버가 인스톨되어 있지 않은 상태에서, 유저가 소망하는 대로 커스터마이즈된 드라이버의 인스톨 세트를 작성할 수 있다. 특정 OS로 작동하는 디바이스(프린터) 드라이버의 인스톨을 불필요로 함으로써 디바이스(프린터) 드라이버를 매우 효율적으로 커스터마이즈하는 것이 가능하게 된다.
따라서, OS가 본래의 프린터 드라이버에 대한 커스터마이즈를 허용하지 않더라도, 유저가 소망하는 대로 커스터마이즈된 드라이버를 작성하는 것이 가능하다.
또한, 프린터 드라이버의 디폴트값의 커스터마이즈를, 프린터 드라이버 전용의 본래의 유저 인터페이스와 유사한 유저 인터페이스를 통해서 행한다. 이것에 의해, 디폴트값의 커스터마이즈를 용이하게 행할 수 있다. 상술한 방식으로 유저 인터페이스를 통해서 이루어진 설정에 따라 표시 항목의 유효 표시, 무효 표시, 비표시를 제어함으로써, 유저의 작업 효율, 조작의 편리성의 향상을 꾀하는 것이 가능하게 된다.
본래의 커스터마이즈된 드라이버는, 커스터마이즈된 드라이버의 인스톨 세트 와 유사한 구성이므로, Microsoft Windows(등록상표) 오퍼레이팅 시스템 등의 각종 오퍼레이팅 시스템, 또는, 차기 버전의 Windows인 Longhorn에 있어서의 Point&Print 환경에 있어서도 커스터마이즈된 드라이버를 동작하는 것이 가능하다. 즉, 여러가지의 오퍼레이팅 시스템에서 실행할 수 있는 커스터마이즈된 드라이버를 제공하는 것이 가능하다.
[그 외의 실시예]
또, 본 발명은, 소프트웨어의 프로그램 코드를 기록한 기억매체를, 시스템 혹은 장치에 제공하고, 그 시스템 혹은 장치에 설치된 컴퓨터 (또는 CPU나 MPU)상에서 그 프로그램 코드를 판독해 실행하여, 전술한 실시예의 기능을 실현함으로써 달성된다.
이 경우, 기억매체로부터 판독된 프로그램 코드가 전술한 실시예의 기능을 실현하고, 그 프로그램 코드를 기억한 기억매체는 본 발명의 범위 내에 있다. 또한, 컴퓨터상에서 프로그램 코드를 실행함으로써, 전술한 실시예의 기능이 실현될 뿐만 아니라, 그 프로그램 코드에 의해 발생한 코맨드에 따라, 컴퓨터상에서 가동하고 있는 오퍼레이팅 시스템(OS) 등이 그 처리의 일부 또는 전부를 행한다. 그러한 기능도 본 발명의 범위 내에서 실현된다.
기억매체에 기억된 프로그램 코드는 컴퓨터 내에 삽입된 확장 카드의 메모리로 로드되거나 컴퓨터에 접속된 확장 유닛의 메모리로 로드되며, 로드된 프로그램 코드에 따라 확장 카드 혹은 확장 유닛에 설치된 CPU가 그 처리의 일부 또는 전부를 행한다. 그러한 기능도 본 발명의 범위 내에서 실현된다.
또한, 그러한 기억매체상에서 본 발명을 실현하기 위해, (도 6이나 도 8 혹은 도 11 내지 도 13 중 하나에 도시된) 흐름도에 대응하는 프로그램 코드는 기억매체에 기억된다.
본 발명은 실시예를 참조하여 설명되었지만, 본 발명은 이들 개시된 실시예에 한정되지 않는다는 것을 알아야 한다. 특히, 본 발명은 프린터 드라이버를 참조하여 설명되었지만, 본 발명에서는, 예를 들어, 오디오나 비디오 등의 다른 디바이스 혹은 촬상 혹은 주사 디바이스의 드라이버가 유리하다. 아래의 청구항들의 범위는 모든 변형, 등가 구조 및 기능을 내포하도록 가장 넓게 해석되어야 한다.
본 발명에 의하면, 프린터 드라이버를 인스톨시키지 않고 커스터마이즈된 드라이버의 인스톨 세트를 작성해서, 작업 효율의 향상을 가능하게 하는 기술을 제공할 수 있다.

Claims (36)

  1. 삭제
  2. 정보 처리 장치로서,
    오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고, 디바이스 드라이버를 커스터마이즈하는 드라이버 커스터마이즈 수단을 구비하되,
    상기 커스터마이즈 수단은
    인쇄 설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 취득하는 취득수단과,
    오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고, 상기 취득수단이 취득한 인쇄 설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 디바이스 드라이버에 설정하는 설정수단을 포함하는 것을 특징으로 하는 정보 처리 장치.
  3. 제 2 항에 있어서,
    상기 장치에 상기 디바이스 드라이버를 통해서 정보가 입력될 때 상기 오퍼레이팅 시스템을 대리해서, 상기 디바이스 드라이버에 응답하는 응답수단을 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  4. 제 3 항에 있어서,
    상기 디바이스 드라이버는 상기 응답수단으로부터의 응답을 상기 오퍼레이팅 시스템으로부터의 응답으로서 인식하고, 상기 디바이스 드라이버는 상기 응답을 수신한 후에 그 후의 처리를 계속하는 것을 특징으로 하는 정보 처리 장치.
  5. 제 4 항에 있어서,
    상기 응답수단은 디바이스 드라이버에 대응하는 의사 애플리케이션 프로그램 인터페이스에 의해 구성되는 것을 특징으로 하는 정보 처리 장치.
  6. 제 2 항에 있어서,
    상기 커스터마이즈 수단은 서로 다른 종류의 오퍼레이팅 시스템에서 실행되는 복수의 디바이스 드라이버에 대하여 하나 이상의 프로퍼티를 설정할 수 있는 것을 특징으로 하는 정보 처리 장치.
  7. 제 2 항에 있어서,
    상기 커스터마이즈 수단은 동시에 복수의 디바이스 드라이버를 커스터마이즈할 수 있는 것을 특징으로 하는 정보 처리 장치.
  8. 제 2 항에 있어서,
    상기 정보 처리 장치는, 상기 디바이스 드라이버가 커스터마이즈에 대응하고 있는지 판별하는 판별수단과,
    상기 판별수단이, 상기 디바이스 드라이버가 커스터마이즈에 대응하고 있다고 판별하면, 상기 디바이스 드라이버의 프로퍼티를 설정하기 위한 설정 화면을 표시하는 표시수단과,
    상기 설정된 디바이스 드라이버의 프로퍼티에 대응하는 데이터를 취득하는 취득수단과,
    상기 취득수단이 취득한 데이터를, 상기 설정수단에 의해 설정된 상기 디바이스 드라이버의 프로퍼티에 근거해 유저 인터페이스에 표시하는 표시 제어 수단을 포함하는 것을 특징으로 하는 정보 처리 장치.
  9. 제 8 항에 있어서,
    상기 표시 제어 수단은, 상기 설정 수단에 의해 설정된 프로퍼티에 따라 상기 유저 인터페이스에서의 항목이 유효표시, 무효표시 또는 비표시되도록 상기 항 목을 제어하는 것을 특징으로 하는 정보 처리 장치.
  10. 제 8 항에 있어서,
    상기 디바이스 드라이버의 설정과 관련된 데이터를 저장하고, 상기 취득수단과 데이터를 송수신할 수 있는 데이터 저장 수단을 더 구비하고,
    상기 취득수단은, 상기 설정수단에 의해 설정된 프로퍼티에 대응하는 데이터를, 상기 데이터 저장 수단에 저장하며, 또 상기 취득수단은 상기 프로퍼티에 대응하는 디바이스 드라이버와 관련된 정보를 커스터마이즈 설정 정보로서 취득하는 것을 특징으로 하는 정보 처리 장치.
  11. 제 10 항에 있어서,
    상기 데이터 저장 수단에 저장되어 있는 어드레스 정보에 근거해 사용하는 애플리케이션 프로그램 인터페이스를 선택하는 선택수단을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  12. 제 11 항에 있어서,
    상기 설정된 디바이스 드라이버의 프로퍼티에 대응하는 애플리케이션 프로그램 인터페이스를 호출한 경우에, 상기 호출된 애플리케이션 프로그램 인터페이스는 상기 디바이스 드라이버의 프로퍼티에 대응하는 상기 디바이스 드라이버에 의해 수행되는 처리와 같은 방식으로 처리를 행하는 것을 특징으로 하는 정보 처리 장치.
  13. 제 7 항에 있어서,
    상기 설정된 디바이스 드라이버의 프로퍼티를 상기 디바이스 드라이버와 관련된 정보 파일에 기록하고, 상기 디바이스 드라이버를 커스터마이즈하여 드라이버를 생성하는 생성수단을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
  14. 제 8 항에 있어서,
    상기 표시 제어 수단은, 상기 디바이스 드라이버의 기동 시에, 상기 디바이스 드라이버와 관련된 정보 파일을 판독하고, 상기 정보 파일에 따라 유저 인터페이스를 표시하는 것을 특징으로 하는 정보 처리 장치.
  15. 삭제
  16. 정보 처리 방법으로서,
    오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고 상기 디바이스 드라이버를 커스터마이즈하는 커스터마이즈 단계를 구비하되,
    상기 커스터마이즈 단계는
    인쇄 설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 취득하는 취득 단계와,
    오퍼레이팅 시스템에 디바이스 드라이버를 가동 가능하게 등록하지 않고, 상기 취득단계에서 취득한 인쇄 설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를, 디바이스 드라이버에 설정하는 설정 단계를 포함하는 것을 특징으로 하는 정보 처리 방법.
  17. 제 16 항에 있어서,
    상기 취득 단계에서의 처리와 상기 설정 단계에서의 처리를, 애플리케이션 프로그램에 의해 실행하고,
    상기 애플리케이션 프로그램에, 상기 디바이스 드라이버를 통해서 정보가 입력될 때, 오퍼레이팅 시스템을 대리해서 상기 디바이스 드라이버에 응답하는 것을 특징으로 하는 정보 처리 방법.
  18. 제 17 항에 있어서,
    상기 디바이스 드라이버는, 상기 애플리케이션 프로그램으로부터의 응답을, 상기 오퍼레이팅 시스템으로부터의 응답으로서 인식하고, 상기 디바이스 드라이버는 응답을 수신한 후에 그 후의 처리를 계속하는 것을 특징으로 하는 정보 처리 방법.
  19. 제 17 항에 있어서,
    상기 응답 단계는, 디바이스 드라이버에 대응하는 의사 애플리케이션 프로그램 인터페이스에 의해 실행되는 것을 특징으로 하는 정보 처리 방법.
  20. 제 16 항에 있어서,
    상기 설정 단계는, 서로 다른 종류의 오퍼레이팅 시스템으로 실행되는 복수의 디바이스 드라이버에 대하여 상기 인쇄 설정과 관련된 프로퍼티를 포함하는 하나 이상의 프로퍼티를 설정할 수 있는 것을 특징으로 하는 정보 처리 방법.
  21. 제 16 항에 있어서,
    상기 설정 단계는 복수의 디바이스 드라이버에 대하여 동시에 상기 취득 단계에서 취득한 인쇄 설정과 관련된 정보를 설정할 수 있는 것을 특징으로 하는 정 보 처리 방법.
  22. 인쇄장치를 제어하는 디바이스 드라이버를, 상기 디바이스 드라이버의 프로퍼티의 설정에 의해 커스터마이즈하는 정보 처리 방법으로서,
    상기 디바이스 드라이버가 커스터마이즈에 대응하고 있는지 판별하는 판별단계와,
    상기 판별 단계에서 상기 디바이스 드라이버가 커스터마이즈에 대응하고 있다고 판별되면, 문서 프로퍼티와 디바이스 프로퍼티를 설정하기 위한 설정 화면을 표시수단에 표시하여 문서 프로퍼티와 디바이스 프로퍼티를 설정하는 설정단계와,
    상기 설정된 디바이스 드라이버의 프로퍼티에 대응하는 데이터를 취득하는 취득단계와,
    상기 취득 단계에서 취득한 데이터를, 상기 설정단계에서 설정된 상기 문서 프로퍼티 및 디바이스 프로퍼티에 근거해 유저 인터페이스에 표시하는 표시단계를 포함하는 것을 특징으로 하는 정보 처리 방법.
  23. 제 22 항에 있어서,
    상기 표시단계는, 상기 설정수단에서 설정된 문서 프로퍼티에 따라 상기 유저 인터페이스에서의 항목이 유효표시, 무효표시 또는 비표시되도록 상기 항목을 제어하는 단계를 포함하는 것을 특징으로 하는 정보 처리 방법.
  24. 제 23 항에 있어서,
    상기 디바이스 드라이버의 설정과 관련된 데이터를 데이터 저장 수단에 저장하고, 상기 취득 단계에서 데이터를 송수신하는 단계를 더 포함하고,
    상기 취득 단계는, 상기 설정 단계에서 설정된 디바이스 드라이버 프로퍼티에 대응하는 데이터를, 상기 데이터 저장 단계에서 상기 데이터 저장 수단에 저장하고, 상기 프로퍼티에 대응하는 디바이스 드라이버와 관련된 정보를 커스터마이즈 설정 정보로서 취득하는 것을 포함하는 특징으로 하는 정보 처리 방법.
  25. 제 24 항에 있어서,
    상기 데이터 저장 단계에서 상기 데이터 저장 수단에 저장된 어드레스 정보에 근거해서, 사용하는 애플리케이션 프로그램 인터페이스를 선택하는 단계를 더 포함하는 것을 특징으로 하는 정보 처리 방법.
  26. 제 25 항에 있어서,
    상기 설정된 디바이스 드라이버의 프로퍼티에 대응하는 애플리케이션 프로그램 인터페이스를 호출한 경우에, 상기 호출된 애플리케이션 프로그램 인터페이스는 상기 디바이스 드라이버의 프로퍼티에 대응하는 상기 디바이스 드라이버에 의해 수행되는 처리와 같은 방식으로 처리를 행하는 것을 특징으로 하는 정보 처리 방법.
  27. 제 20 항에 있어서,
    상기 설정된 디바이스 드라이버의 프로퍼티를 상기 디바이스 드라이버와 관련된 정보 파일에 기록하고, 상기 디바이스 드라이버를 커스터마이즈하여 드라이버를 생성하는 단계를 더 포함하는 것을 특징으로 하는 정보 처리 방법.
  28. 제 22 항에 있어서,
    상기 표시단계는, 상기 디바이스 드라이버의 기동 시에, 상기 디바이스 드라이버와 관련된 정보 파일을 판독하고, 상기 정보 파일에 따라 상기 유저 인터페이스를 표시하는 것을 포함하는 것을 특징으로 하는 정보 처리 방법.
  29. 컴퓨터 판독 가능한 기억매체로서, 컴퓨터로 로드되어 실행될 때, 제16항에 기재된 방법을 실행시키는 제어 프로그램을 기억한 것을 특징으로 하는 컴퓨터 판독 가능한 기억매체.
  30. 프린터 드라이버를 커스터마이즈하는 정보 처리 장치로서,
    오퍼레이팅 시스템의 기능과 동일한 기능을 제공하는 의사 애플리케이션 프로그램 인터페이스(API)를 이용해 상기 프린터 드라이버의 유저 인터페이스를 기동시키는 기동 수단과,
    상기 의사 API를 이용해서, 상기 기동 수단에 의해 기동된 상기 프린터 드라이버의 유저 인터페이스를 통해서 입력되는 커맨드 또는 데이터를 취득하는 취득수단과,
    상기 취득수단이 취득한 상기 입력 커맨드 또는 데이터에 대응하는 프린터 프로퍼티로 상기 프린터 드라이버와 관련된 설정을 행하는 설정수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  31. 제 30 항에 있어서,
    상기 설정수단은 상기 프린터 드라이버와 관련되어 있으며, 상기 취득수단이 취득한 상기 입력 커맨드 또는 데이터에 대응하는 프린터 프로퍼티를 나타내는 프린터 드라이버 및 프린터 프로퍼티 데이터를 포함하는 인스톨 세트를 생성하여 설정을 행하는 것을 특징으로 하는 정보 처리 장치.
  32. 제 30 항에 있어서,
    상기 설정수단은, 상기 프린터 드라이버가 인스톨되어 있지 않은 상태에서 상기 프린터 드라이버와 관련된 프린터 프로퍼티로 설정을 행하는 것을 특징으로 하는 정보 처리 장치.
  33. 프린터 드라이버를 커스터마이즈하는 정보 처리 장치의 정보 처리 방법으로서,
    오퍼레이팅 시스템의 기능을 가상적으로 제공하는 의사 애플리케이션 프로그램 인터페이스(API)를 이용해서 상기 프린터 드라이버의 유저 인터페이스를 기동시키는 단계와,
    상기 의사 API를 이용해서, 상기 기동단계에서 기동된 상기 프린터 드라이버의 유저 인터페이스를 통해서 입력되는 커맨드 또는 데이터를 취득하는 단계와,
    상기 취득단계에서 취득한 상기 입력 커맨드 또는 데이터에 대응하는 프린터 프로퍼티로 상기 프린터 드라이버와 관련된 설정을 행하는 단계를 포함하는 것을 특징으로 하는 정보 처리 방법.
  34. 제 33 항에 있어서,
    상기 설정단계는 프린터 드라이버와 관련되어 있으며, 상기 취득단계에서 취득한 상기 입력 커맨드 또는 데이터에 대응하는 프린터 프로퍼티를 나타내는 프린터 드라이버 및 프린터 프로퍼티 데이터를 포함하는 인스톨 세트를 생성하여 설정을 행하는 것을 포함하는 것을 특징으로 하는 정보 처리 방법.
  35. 제 33 항에 있어서,
    상기 설정단계에서는 상기 프린터 드라이버가 인스톨되어 있지 않은 상태에서 상기 프린터 드라이버와 관련된 프린터 프로퍼티로 설정을 행하는 것을 포함하는 것을 특징으로 하는 정보 처리 방법.
  36. 프린터 드라이버를 커스터마이즈하는 정보 처리 장치에서, 컴퓨터를 제어해서 프로세스를 실행시키는 제어 프로그램을 기억한 기억매체로서, 상기 프로세스는,
    오퍼레이팅 시스템의 기능을 가상적으로 제공하는 의사 애플리케이션 프로그램 인터페이스(API)를 이용해서 상기 프린터 드라이버의 유저 인터페이스를 기동시키는 처리와,
    상기 의사 API를 이용해서, 상기 기동단계에서 기동된 상기 프린터 드라이버의 유저 인터페이스를 통해서 입력되는 커맨드 또는 데이터를 취득하는 처리와,
    상기 취득단계에서 취득한 상기 입력 커맨드 또는 데이터에 대응하는 프린터 프로퍼티로 상기 프린터 드라이버와 관련된 설정을 행하는 처리를 포함하는 것을 특징으로 하는 기억매체.
KR1020060028254A 2005-03-29 2006-03-29 디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체 KR100820849B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00095694 2005-03-29
JP2005095694 2005-03-29

Publications (2)

Publication Number Publication Date
KR20060105513A KR20060105513A (ko) 2006-10-11
KR100820849B1 true KR100820849B1 (ko) 2008-04-11

Family

ID=36955232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060028254A KR100820849B1 (ko) 2005-03-29 2006-03-29 디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체

Country Status (4)

Country Link
US (1) US8498002B2 (ko)
EP (1) EP1710699B1 (ko)
KR (1) KR100820849B1 (ko)
CN (1) CN100407127C (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4344921B2 (ja) * 2003-08-11 2009-10-14 セイコーエプソン株式会社 Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
US7293272B1 (en) 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US7895170B2 (en) * 2007-02-14 2011-02-22 Ricoh Company, Ltd. Document management apparatus, document management program, and recording medium
JP4986693B2 (ja) * 2007-04-17 2012-07-25 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP4948283B2 (ja) * 2007-06-25 2012-06-06 キヤノン株式会社 情報処理装置および制御方法および制御プログラム
JP5014187B2 (ja) * 2008-02-07 2012-08-29 株式会社リコー デバイスドライバ及びユーザインタフェースのレイアウトカスタマイズ方法
JP5021531B2 (ja) * 2008-03-14 2012-09-12 株式会社リコー 画面表示システム、情報処理装置、画面表示方法、画面表示プログラム及び記録媒体
JP5274075B2 (ja) * 2008-03-31 2013-08-28 キヤノン株式会社 画像形成装置、画像形成処理方法及びプログラム
US20100107097A1 (en) * 2008-10-16 2010-04-29 Andrew Rodney Ferlitsch Client device with extensible imaging device driver and method implementing same
US9015532B2 (en) * 2008-10-31 2015-04-21 Ebay Inc. System and method to test executable instructions
JP5527992B2 (ja) * 2009-03-30 2014-06-25 キヤノン株式会社 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP4667516B2 (ja) * 2009-06-30 2011-04-13 キヤノン株式会社 情報処理装置、情報処理システムの制御方法およびプログラム
JP4612912B1 (ja) * 2009-06-30 2011-01-12 キヤノン株式会社 情報処理装置、情報処理システムの制御方法およびプログラム
US8881140B1 (en) * 2009-09-04 2014-11-04 Symantec Corporation Systems and methods for virtualizing software associated with external computer hardware devices
JP2011150604A (ja) * 2010-01-22 2011-08-04 Fuji Xerox Co Ltd 情報処理装置、印刷プログラム及び印刷システム
JP5458974B2 (ja) * 2010-03-10 2014-04-02 富士ゼロックス株式会社 印刷システム及び環境調査プログラム
JP5663933B2 (ja) * 2010-04-08 2015-02-04 富士ゼロックス株式会社 カスタムインストーラの作成プログラム、カスタムインストーラの作成装置、カスタムインストーラの作成方法、インストールプログラム及びインストール装置
JP5893295B2 (ja) * 2010-10-29 2016-03-23 キヤノン株式会社 情報処理装置、表示方法及びプログラム
JP2012128662A (ja) * 2010-12-15 2012-07-05 Samsung Electronics Co Ltd 表示制御装置、プログラムおよび表示制御方法
CN103677872B (zh) * 2012-09-10 2018-12-14 联想(北京)有限公司 一种信息处理方法、装置和电子设备
US9881239B2 (en) * 2015-09-03 2018-01-30 Ricoh Company, Ltd. Computer-readable recording medium, information processing device, and information processing system
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US10122872B1 (en) 2017-05-31 2018-11-06 Xerox Corporation Automatic configuration of network devices in remote managed print service applications utilizing groups of historical device data
JP6936634B2 (ja) * 2017-06-23 2021-09-22 キヤノン株式会社 情報処理装置および情報格納方法
CN109460196B (zh) * 2018-10-26 2021-11-09 浪潮金融信息技术有限公司 一种基于驱动新平台实现打印盖章通用功能的方法
JP7309348B2 (ja) * 2018-11-30 2023-07-18 キヤノン株式会社 プログラム及び制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040048938A (ko) * 2001-10-04 2004-06-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 유저 인터페이스 애플리케이션을 구동하는 디바이스
KR20050076703A (ko) * 2004-01-20 2005-07-26 캐논 가부시끼가이샤 정보 처리 장치 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5668992A (en) 1994-08-01 1997-09-16 International Business Machines Corporation Self-configuring computer system
US6825941B1 (en) * 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US6490051B1 (en) * 1998-09-21 2002-12-03 Microsoft Corporation Printer driver and method for supporting worldwide single binary font format with built in support for double byte characters
GB2357600A (en) 1999-12-23 2001-06-27 Ibm Hardware dependent software installation
US8527872B1 (en) * 2000-01-18 2013-09-03 Autodesk, Inc. Multiple output device association
US6814510B1 (en) * 2000-08-02 2004-11-09 Xerox Corporation Method and apparatus for automatic update of a printer driver configuration and status
US20030043396A1 (en) * 2001-08-29 2003-03-06 Klosterman Elliot L. Printer driver access interface
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
GB2391667A (en) * 2002-07-31 2004-02-11 Hewlett Packard Co Reconfiguration of a computer-based printing system
US7256901B2 (en) * 2002-10-10 2007-08-14 Sharp Laboratories Of America, Inc. Printer driver customization using incremental custom print processor
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program
US20050039193A1 (en) * 2003-03-20 2005-02-17 Samsung Electronics Co., Ltd. Method and apparatus for generating device driver and user interface screen
JP4082256B2 (ja) * 2003-03-25 2008-04-30 ブラザー工業株式会社 情報処理装置及びプログラム
US7869068B2 (en) * 2003-06-27 2011-01-11 Zoran Corporation Printer driver extension and related method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040048938A (ko) * 2001-10-04 2004-06-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 유저 인터페이스 애플리케이션을 구동하는 디바이스
KR20050076703A (ko) * 2004-01-20 2005-07-26 캐논 가부시끼가이샤 정보 처리 장치 및 방법

Also Published As

Publication number Publication date
CN100407127C (zh) 2008-07-30
EP1710699B1 (en) 2016-05-11
EP1710699A3 (en) 2009-04-22
CN1841307A (zh) 2006-10-04
EP1710699A2 (en) 2006-10-11
KR20060105513A (ko) 2006-10-11
US20060221370A1 (en) 2006-10-05
US8498002B2 (en) 2013-07-30

Similar Documents

Publication Publication Date Title
KR100820849B1 (ko) 디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체
EP1710680B1 (en) Information processing apparatus and method, program, and storage medium
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
KR100853913B1 (ko) 정보 처리 장치 및 정보 처리 방법
JP4546305B2 (ja) デバイスドライバのカスタマイズ用プログラム、情報処理装置および情報処理方法
KR100708361B1 (ko) 정보 처리 장치 및 방법
JP5063504B2 (ja) 情報処理装置、情報処理方法、制御プログラム
JP4812093B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
JP5522952B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
JP5807460B2 (ja) 情報処理装置、プログラム、記憶媒体
JP4702948B2 (ja) デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体
JP7110631B2 (ja) 情報処理装置、情報処理システム、及びプログラム
JP2002251268A (ja) 情報処理装置および該装置のデータ処理方法およびデータ処理プログラムおよび該プログラムを格納した記憶媒体
JP7279347B2 (ja) 情報処理装置
JP6852350B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2011008469A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2013120507A (ja) 文書処理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130320

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170324

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180326

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190403

Year of fee payment: 12