다음을 통해 공유


ConfigurePortUI 함수(winsplp.h)

포트 모니터 UI DLL의 ConfigurePortUI 함수는 사용자로부터 포트 구성 정보를 가져와 포트 모니터 서버 DLL로 보냅니다.

구문

BOOL WINAPI pfnConfigurePortUI(
  _In_opt_ PCWSTR pszServer,
  _In_     HWND   hWnd,
  _In_     PCWSTR pszPortName
);

매개 변수

[in, optional] pszServer

서버 이름을 나타내는 문자열에 대한 호출자 제공 포인터 또는 프린터가 로컬인 경우 NULL 입니다. (포트 모니터는 이 매개 변수를 무시할 수 있습니다.)

[in] hWnd

대화 상자의 부모로 사용해야 하는 창의 호출자 제공 핸들입니다. NULL인 경우 대화 상자가 표시되지 않아야 합니다.

[in] pszPortName

구성할 포트의 이름을 나타내는 문자열에 대한 호출자 제공 포인터입니다.

반환 값

작업이 성공하면 함수는 TRUE를 반환해야 합니다. 그렇지 않으면 FALSE를 반환해야 합니다. 작업이 지원되지 않거나 사용자가 취소한 경우(취소를 선택하거나 구성 매개 변수를 변경하지 않고 확인을 선택하여) 함수는 SetLastError(ERROR_CANCELLED)를 호출한 다음 FALSE를 반환해야 합니다.

설명

포트 모니터 UI DLL은 ConfigurePortUI 함수를 정의하고 MONITORUI 구조에 함수의 주소를 포함해야 합니다.

클라이언트의 스풀러는 ConfigurePort 함수 내에서 ConfigurePortUI를 호출합니다(Microsoft Windows SDK 설명서에 설명됨). ConfigurePortUI에서 받은 인수는 ConfigurePort에서 받은 인수입니다.

함수는 다음 작업을 수행해야 합니다.

  1. 다음 형식의 프린터 이름을 지정하여 OpenPrinter를 호출합니다.
    \\ServerName\,XcvPortPortName

    여기서 ServerNamePortNameConfigurePortUI 함수 인수로 수신된 서버 및 포트 이름입니다.

    OpenPrinter를 호출하려면 Windows SDK 설명서에 설명된 PRINTER_DEFAULTS 구조가 필요합니다. 구조체의 DesiredAccess 멤버는 SERVER_ACCESS_ADMINISTER 설정해야 합니다. pDatatypepDevMode 멤버는 NULL일 수 있습니다.

    이 호출로 인해 인쇄 모니터 서버 DLL의 XcvOpenPort 함수가 호출됩니다.

  2. 대화 상자를 표시하여 사용자로부터 포트 구성 매개 변수를 가져옵니다.
  3. XcvData를 한 번 이상 호출하여 사용자 지정된 데이터 이름 문자열을 지정하여 각 구성 매개 변수를 서버 DLL로 보냅니다. 각 XcvData 호출로 인해 서버의 XcvDataPort 함수가 호출됩니다.
  4. OpenPrinter에서 받은 핸들을 지정하여 ClosePrinter를 호출합니다. 이로 인해 서버 DLL의 XcvClosePort 함수가 호출됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 winsplp.h(Winsplp.h 포함)
라이브러리 NtosKrnl.exe

추가 정보

XcvOpenPort

XcvClosePort

XcvDataPort

XcvData