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 포함) |