TCPMON Xcv 인터페이스
이 섹션에서는 표준 TCP/IP 포트 모니터(TCPMON)에 대한 Xcv(Transceive) 인터페이스에 대해 설명합니다. XcvData 및 XcvDataPort 함수 호출 을 사용하여 구현되는 이 인터페이스를 사용하면 사용하는 사용자가 TCP/IP 프린터 포트를 구성하거나 TCP/IP 프린터 포트 구성에 대한 정보를 가져올 수 있습니다. 이 섹션에 설명된 Xcv 인터페이스는 TCP/IP 포트와 관련이 있습니다. 다른 Xcv 인터페이스는 다른 포트 형식에 사용할 수 있습니다.
로컬 컴퓨터 또는 원격 머신에 대한 Xcv 인터페이스에 대한 핸들을 가져오려면 OpenPrinter 함수를 호출합니다. 다음 코드 예제에서는 포트에 대한 Xcv 핸들을 가져오는 방법을 보여 줍니다.
HANDLE hXcv = INVALID_HANDLE_VALUE;
PRINTER_DEFAULTS Defaults = { NULL, NULL, <Required Access> };
// Handle to a local machine
if (OpenPrinter(",XcvPort <PortName>", &hXcv, &Defaults )
{
// hXvc contains an Xcv data handle to a local TCPMON port
}
// Handle to a remote machine
if (OpenPrinter("<ServerName>\\,XcvPort <PortName>", &hXcv, &Defaults )
{
// hXvc contains an Xcv data handle to a TCPMON port on <ServerName>
}
코드 예제에서 ServerName 및 PortName 은 서버 및 포트 이름 문자열을 나타냅니다. 핸들을 가져온 후에는 TCPMON 포트 모니터와 관련된 정보를 쿼리하거나 포트 구성을 변경할 수 있습니다. 포트 모니터에 필요한 액세스는 PRINTER_DEFAULTS 구조체의 DesiredAccess 멤버에 지정하거나 특별한 보안이 필요하지 않은 경우 NULL 을 전달해야 합니다. AddPort 및 DeletePort 명령이 지정된 경우(TCPMON Xcv 명령 참조) XcvData 함수에 대한 특정 호출의 경우 SERVER_ACCESS_ADMINISTER 권한이 필요합니다. OpenPrinter 함수 및 PRINTER_DEFAULTS 구조에서 요청할 수 있는 액세스 권한에 대한 자세한 내용은 OpenPrinter 함수 설명서를 참조하세요.
포트가 아직 없는 경우 모니터 이름을 지정하여 서버에서 Xcv 핸들을 가져올 수 있습니다. (표준 TCP/IP 포트 모니터 포트의 경우 "표준 TCP/IP 포트"입니다.) 다음 코드 예제에서는 포트 모니터에 Xcv 데이터 핸들을 가져오는 방법을 보여 줍니다.
HANDLE hXcv = INVALID_HANDLE_VALUE;
PRINTER_DEFAULTS Defaults = { NULL, NULL, <Required Access> };
// Handle to a local machine
if (OpenPrinter(",XcvMonitor <MonitorName>", &hXcv, &Defaults )
{
// hXcv contains an Xcv data handle to the monitor <MonitorName>
}
// Handle to a remote machine
if (OpenPrinter("<ServerName>\\,XcvMonitor <MonitorName>", &hXcv, &Defaults )
{
// hXcv contains an Xcv data handle to the monitor
// <MonitorName> on the server <ServerName>
}
코드 예제에서 ServerName 및 PortName 은 서버 및 포트 이름 문자열을 나타냅니다. Xcv 데이터 핸들을 가져온 후에는 XcvData 함수를 호출하여 모니터에 대한 지침 및 요청을 실행할 수 있습니다.
XcvData 함수의 반환 값은 데이터가 포트 모니터로 올바르게 전송되었는지 여부만 나타냅니다. TRUE의 반환 값은 작업이 성공했음을 나타내지 않습니다. 작업이 성공했는지 여부를 확인하려면 *pdwStatus의 값을 검사합니다. 이러한 상태 값은 다음 표에 요약되어 있습니다.
상태 값 | 의미 |
---|---|
NO_ERROR | 작업이 완료되었습니다. |
ERROR_ACCESS_DENIED | 사용자에게 권한이 부족합니다. 명령에는 SERVER_ACCESS_ADMINISTER 권한이 필요합니다. |
ERROR_INSUFFICIENT_BUFFER | 출력 버퍼가 필요하지만 필요한 것보다 작습니다. |
ERROR_INVALID_DATA | 입력 버퍼가 필요하지만 포인터가 NULL이거나 입력 버퍼의 크기가 필요 이상으로 작습니다. |
ERROR_INVALID_HANDLE | Xcv 데이터 핸들이 잘못되었습니다. |
ERROR_INVALID_LEVEL | 입력 또는 출력 데이터 구조가 올바른 버전이 아닙니다. |
ERROR_INVALID_PARAMETER | 출력 버퍼가 필요하지만 NULL이거나 출력 필수 매개 변수가 NULL 이고 출력 버퍼가 너무 작거나 표준 TCP/IP 포트 모니터가 실행 중인 명령을 이해하지 못합니다. |