다음을 통해 공유


DRIVER_UPGRADE_INFO_2 구조체(winddiui.h)

DRIVER_UPGRADE_INFO_2 구조체는 프린터 인터페이스 DLL의 DrvUpgradePrinter 함수에 대한 입력으로 사용됩니다.

구문

typedef struct _DRIVER_UPGRADE_INFO_2 {
  LPTSTR pPrinterName;
  LPTSTR pOldDriverDirectory;
  DWORD  cVersion;
  LPTSTR pName;
  LPTSTR pEnvironment;
  LPTSTR pDriverPath;
  LPTSTR pDataFile;
  LPTSTR pConfigFile;
  LPTSTR pHelpFile;
  LPTSTR pDependentFiles;
  LPTSTR pMonitorName;
  LPTSTR pDefaultDataType;
  LPTSTR pszzPreviousNames;
} DRIVER_UPGRADE_INFO_2, *PDRIVER_UPGRADE_INFO_2;

멤버

pPrinterName

프린터 이름을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 주의 섹션을 참조하세요.

pOldDriverDirectory

이전 프린터 드라이버 파일을 찾을 수 있는 로컬 디렉터리를 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다.

cVersion

드라이버가 작성된 운영 체제 버전을 지정합니다.

운영 체제
0 Windows 95/98/Me
1 Windows NT 3.1~Windows NT 3.51
2 Windows NT 4.0
3 Windows 2000 이상

pName

드라이버의 이름을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다(예: "QMS 810"). 자세한 내용은 주의 섹션을 참조하세요.

pEnvironment

드라이버가 작성된 환경을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다(예: "x86 Windows NT" 또는 "Windows Itanium").

pDriverPath

디바이스 드라이버가 포함된 파일의 파일 이름 또는 전체 경로 및 파일 이름을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다(예: "pscript.dll").

pDataFile

드라이버 데이터가 포함된 파일의 전체 경로 및 파일 이름(예: "qms810.ppd")을 지정하는 NULL로 종료된 문자열에 대한 포인터입니다.

pConfigFile

디바이스 드라이버의 구성 동적 링크 라이브러리(예: "pscrptui.dll")에 대한 파일 이름 또는 전체 경로 및 파일 이름을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다.

pHelpFile

디바이스 드라이버의 도움말 파일에 대한 파일 이름 또는 전체 경로 및 파일 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

pDependentFiles

드라이버가 종속된 파일을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다. 문자열의 각 파일 이름도 null 문자(예: "pscript.dll\0qms810.ppd\0pscrptui.dll\0pscrptui.hlp\0pstest.txt\0\0")로 종료됩니다.

pMonitorName

언어 모니터(예: "PJL 모니터")를 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다. 이 멤버는 NULL 일 수 있으며 양방향 통신이 가능한 프린터에 대해서만 NULL 이 아닌 것으로 지정해야 합니다.

pDefaultDataType

인쇄 작업의 기본 데이터 형식(예: "EMF")을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다.

pszzPreviousNames

이 드라이버와 호환되는 이전 프린터 드라이버 이름을 지정하는 NULL로 끝나는 문자열에 대한 포인터입니다(예: "OldName1\0OldName2\0\0").

설명

pDriverUpgradeInfo 매개 변수가 DRIVER_UPGRADE_INFO_2 구조를 가리키는 DrvUpgradePrinter를 호출하면 pPrinterName 멤버는 업데이트할 프린터 이름이 포함된 문자열을 가리킵니다. pName 멤버는 업데이트할 프린터 드라이버의 이름이 포함된 문자열을 가리키며, pPrinterName 멤버가 이름을 가리키는 프린터의 드라이버일 필요는 없습니다.

이 문제가 어떻게 발생할 수 있는지 확인하려면 컴퓨터가 드라이버 이름이 "Acme 플로터"인 프린터와 드라이버 이름이 "Acme RasterMaster"인 두 프린터에 연결되어 있다고 가정합니다. 또한 두 드라이버가 공통 드라이버 파일인 plotui.dll 공유한다고 가정해 보겠습니다. AddPrinterDriverEx 함수(Microsoft Windows SDK 설명서에 설명됨)를 호출하여 "Acme 플로터" 드라이버를 업데이트하면 두 드라이버 모두 업그레이드의 영향을 받는 파일을 사용하기 때문에 DrvUpgradePrinter가 두 프린터 모두에 대해 호출됩니다. 두 호출에서 pName 멤버는 AddPrinterDriverEx 호출에 사용된 프린터 드라이버의 이름인 "Acme 플로터"를 가리킵니다. 그러나 pPrinterName 멤버가 가리키는 문자열은 DrvUpgradePrinter에 대한 두 호출 모두에서 다릅니다. 각 호출에서 pPrinterName 은 업데이트되는 프린터의 이름을 가리킵니다.

요구 사항

요구 사항
헤더 winddiui.h(Winddiui.h 포함)

추가 정보

DRIVER_UPGRADE_INFO_1

DrvUpgradePrinter