다음을 통해 공유


사용자 지정된 프린터 설정 작업

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

기본 Windows 2000 이상 프린터 클래스 설치 관리자인 Ntprint.dll 사용하여 설치된 프린터에 대해 사용자 지정된 프린터 설정 작업을 제공하려면 프린터의 INF 파일에 VendorSetup INF 항목을 포함할 수 있습니다.

주의

VendorSetup은 이제 더 이상 사용되지 않으며 개발하는 새 v3 또는 v4 드라이버에서 사용해서는 안 됩니다. 이 항목은 참조 전용 또는 이 INF 지시문을 이미 사용하는 기존 v3 드라이버의 유지 관리를 위해 제공됩니다.

프린터 드라이버를 설치하는 동안 사용자 인터페이스 요소를 표시하려는 경우 VendorSetup INF 항목을 사용해야 합니다. 그러나 필요한 경우에만 VendorSetup INF 항목을 사용해야 합니다. 중요한 단점은 일반 사용자가 플러그 앤 플레이 프린터를 설치하지 못하게 한다는 것입니다(이 경우 사용자는 관리자여야 합니다).

디바이스 드라이버가 서명되지 않았거나(서명되거나 서명되지 않은) 드라이버의 INF 파일에 VendorSetup INF 항목이 포함된 경우 서버 쪽 설치를 사용하여 디바이스를 설치할 수 없습니다. 드라이버가 서명되지 않은 경우 설치 프로그램은 서명된 드라이버인 경우 드라이버가 가질 수 있는 순위에 0x8000 추가합니다. 드라이버의 INF 파일에 VendorSetup 항목이 포함된 경우 설치 프로그램은 디바이스 설치에 사용자 상호 작용(서버 쪽 설치에서 발생할 수 없음)이 필요하고 설치를 중지하도록 결정합니다.

드라이버의 순위가 0x8000 이상인 경우에도 설치 프로그램이 서버 쪽 설치를 중지합니다. 관리자 권한이 있는 사용자가 로그온하면 설치가 진행될 수 있으며, 이때 설치 프로그램이 클라이언트 쪽 설치로 디바이스 설치를 다시 시작합니다. 순위가 0x1000 이상이고 하드웨어 ID가 일치하지 않는 드라이버의 경우 설치 프로그램에서 새 디바이스 DLL에서 새 하드웨어 발견 마법사를 시작하여 사용자에게 드라이버를 설치하라는 메시지를 표시합니다.

서명된 드라이버의 INF 파일에 VendorSetup 항목이 포함되어 있고 드라이버의 순위가 0x1000 미만인 경우 설치 프로그램에서 새 하드웨어 검색 마법사를 시작하지 않습니다. 자세한 내용은 설치 프로그램에서 드라이버를 선택하는 방법을 참조 하세요.

VendorSetup 항목의 형식은 다음과 같습니다.

VendorSetup= FileName, FunctionName

여기서 FileName 은 설치 함수를 포함하는 DLL의 이름이고 FunctionName 은 함수의 이름입니다. DLL은 %windir%\system32 디렉터리에 설치되어야 합니다. 프린터 클래스 설치 관리자는 프린터가 플러그 앤 플레이 또는 프린터 추가 마법사에 의해 설치 된 경우에이 DLL에서 설치 함수를 호출 합니다. 설치 함수는 드라이버만 설치할 때 호출되지 않습니다(예: 프린터 드라이버 추가 마법사 사용).

하나 이상의 파일을 %windir%\system32 디렉터리에 복사하려면 INF DestinationDirs 섹션에 INF 기록기 정의 섹션의 이름을 추가할 수 있습니다. 다음 예제에서 OEMVendorFiles 섹션에는 복사할 모든 파일이 나열됩니다.

[DestinationDirs]
OEMVendorFiles = 11
...
[OEMVendorFiles]
vendor.dll

FunctionName에서 지정한 함수는 다음 프로토타입과 일치해야 합니다.

VOID WINAPIFunctionName (HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLine, UINT nCmdShow);

여기서 FunctionName 은 설치 함수의 이름입니다. 함수의 매개 변수 및 해당 설명은 다음 표에 나와 있습니다.

매개 변수 설명
hWnd 부모 창의 핸들을 지정합니다.
hInstance 호출 프로세스의 인스턴스 핸들을 지정합니다.
lpszCmdLine 설치된 프린터의 이름을 포함하는 ANSI 문자열을 지정합니다. 이 문자열은 FunctionName으로 구문 분석됩니다.
nCmdShow 창을 표시하는 방법을 지정합니다. 창이 표시되는 방식을 제어하는 플래그는 Winuser.h에 정의됩니다.

프린터 클래스 설치 관리자는 설치 작업의 마지막 단계 중 하나로 설치 함수를 호출합니다.