AddPortUI 함수(winsplp.h)
포트 모니터 UI DLL의 AddPortUI 함수는 프린터 포트를 추가한 다음 사용자로부터 포트 구성 정보를 가져와서 포트 모니터 서버 DLL로 보냅니다.
구문
BOOL AddPortUI(
[in, optional] PCWSTR pszServer,
[in] HWND hWnd,
PCWSTR pszMonitorNameIn,
[out, optional] PWSTR *ppszPortNameOut
);
매개 변수
[in, optional] pszServer
서버 이름을 나타내는 문자열에 대한 호출자 제공 포인터이거나, 프린터가 로컬인 경우 NULL 입니다.
[in] hWnd
대화 상자의 부모로 사용해야 하는 창의 호출자 제공 핸들입니다. NULL이면 대화 상자가 표시되지 않습니다.
pszMonitorNameIn
[out, optional] ppszPortNameOut
포트 이름 문자열을 받을 위치에 대한 호출자 제공 포인터입니다. NULL일 수 있습니다. 이 경우 이름이 반환되지 않습니다.
반환 값
작업이 성공하면 함수는 TRUE를 반환해야 합니다. 그렇지 않으면 오류 코드를 지정하기 위해 SetLastError를 호출해야 하며 함수는 FALSE를 반환해야 합니다. 사용자가 작업을 취소하거나 지원되지 않는 경우 함수는 SetLastError(ERROR_CANCELLED)를 호출한 다음 FALSE를 반환해야 합니다.
설명
포트 모니터 UI DLL은 AddPortUI 함수를 정의하고 MONITORUI 구조에 함수의 주소를 포함해야 합니다.
스풀러는 AddPort 함수 내에서 AddPortUI 를 호출합니다. AddPortUI에서 받은 처음 세 인수는 AddPort에서 받은 인수입니다. AddPort 함수는 Microsoft Windows SDK 설명서에 설명되어 있습니다.
함수는 다음 작업을 수행해야 합니다.
-
OpenPrinter를 호출하여 다음 형식의 프린터 이름을 지정합니다.
- \\Servername\, XcvMonitorMonitorName
여기서 ServerName 및 MonitorName 은 AddPortUI 함수 인수로 수신된 서버 및 모니터 이름입니다.
OpenPrinter를 호출하려면 Windows SDK 설명서에 설명된 PRINTER_DEFAULTS 구조가 필요합니다. 구조체의 DesiredAccess 멤버는 SERVER_ACCESS_ADMINISTER 설정해야 합니다. pDatatype 및 pDevMode 멤버는 NULL일 수 있습니다.
이 호출로 인해 인쇄 모니터 서버 DLL의 XcvOpenPort 함수가 호출됩니다.
- 대화 상자를 표시하여 사용자로부터 포트 이름을 가져옵니다.
-
XcvData를 호출하고 다음 입력 인수를 지정합니다.
- OpenPrinter에서 받은 핸들
- 사용자로부터 받은 포트 이름
- "PortExists"와 같은 사용자 지정된 데이터 이름 문자열
이 호출로 인해 서버 DLL의 XcvDataPort 함수가 호출됩니다. XcvDataPort 함수는 지정된 포트 이름이 이미 사용되었는지 여부를 나타내는 값을 반환해야 합니다. 있는 경우 UI DLL은 사용자에게 다른 이름을 요청하고 XcvData 를 다시 호출해야 합니다.
-
유효한 새 포트 이름을 받은 후 XcvData 를 다시 호출합니다. 이번에는 다음 입력 인수를 지정합니다.
- OpenPrinter에서 받은 핸들
- 사용자로부터 받은 유효성이 검사된 포트 이름
- "AddPort"의 데이터 이름 문자열
이 호출로 인해 서버 DLL의 XcvDataPort 함수가 다시 호출됩니다.
- 대화 상자를 표시하여 사용자로부터 포트 구성 매개 변수를 가져옵니다.
- XcvData를 한 번 이상 호출하여 사용자 지정된 데이터 이름 문자열을 지정하여 각 구성 매개 변수를 서버 DLL로 보냅니다. 각 XcvData 호출로 인해 서버의 XcvDataPort 함수가 호출됩니다.
- OpenPrinter에서 받은 핸들을 지정하여 ClosePrinter를 호출합니다. 이로 인해 서버 DLL의 XcvClosePort 함수가 호출됩니다.
요구 사항
| 대상 플랫폼 | 데스크톱 |
| 헤더 | winsplp.h(Winsplp.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기