Freigeben über


TCPMON Xcv-Schnittstelle

In diesem Abschnitt wird die transceive Schnittstelle (Xcv) für den TCP/IP-Standardportmonitor (TCPMON) beschrieben. Diese Schnittstelle, die mithilfe von XcvData - und XcvDataPort-Funktionsaufrufen implementiert wird, ermöglicht es denjenigen, die sie verwenden, einen TCP/IP-Druckerport zu konfigurieren oder Informationen über eine TCP/IP-Druckerportkonfiguration abzurufen. Die in diesem Abschnitt beschriebene Xcv-Schnittstelle ist spezifisch für TCP/IP-Ports. Andere Xcv-Schnittstellen sind möglicherweise für andere Porttypen verfügbar.

Um ein Handle für eine Xcv-Schnittstelle für einen lokalen Computer oder einen Remotecomputer abzurufen, rufen Sie die OpenPrinter-Funktion auf. Im folgenden Codebeispiel wird veranschaulicht, wie Ein Xcv-Handle für einen Port abgerufen wird:

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>
}

Im Codebeispiel stellen Servername und PortName Server- und Portnamezeichenfolgen dar. Nachdem Sie das Handle abgerufen haben, können Sie informationen abfragen, die für den TCPMON-Portmonitor spezifisch sind, oder Sie können die Portkonfiguration ändern. Beachten Sie, dass der Zugriff, den Sie für den Portmonitor benötigen, im DesiredAccess-Member der PRINTER_DEFAULTS-Struktur angegeben werden muss oder NULL übergeben muss, wenn keine besondere Sicherheit erforderlich ist. Für bestimmte Aufrufe der XcvData-Funktion , z. B. wenn die Befehle AddPort und DeletePort angegeben werden (siehe TCPMON Xcv-Befehle), ist SERVER_ACCESS_ADMINISTER Berechtigung erforderlich. Ausführliche Informationen zur OpenPrinter-Funktion und zu den Zugriffsrechten, die in der PRINTER_DEFAULTS-Struktur angefordert werden können, finden Sie in der Dokumentation zur OpenPrinter-Funktion .

Wenn der Port noch nicht vorhanden ist, kann das Xcv-Handle vom Server abgerufen werden, indem Sie den Monitornamen angeben. (Im Fall des STANDARD-TCP/IP-Portmonitorports ist dies "Tcp/IP-Standardport".) Im folgenden Codebeispiel wird veranschaulicht, wie Ein Xcv-Datenhandle für einen Portmonitor abgerufen wird:

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>
}

Im Codebeispiel stellen Servername und PortName Server- und Portnamezeichenfolgen dar. Nachdem Sie das Xcv-Datenhandle abgerufen haben, können Sie Anweisungen und Anforderungen an den Monitor ausstellen, indem Sie die XcvData-Funktion aufrufen.

Beachten Sie, dass der Rückgabewert der XcvData-Funktion nur angibt, ob die Daten ordnungsgemäß an den Portmonitor gesendet wurden. Ein Rückgabewert von TRUE gibt nicht an, dass der Vorgang erfolgreich war. Überprüfen Sie den Wert in *pdwStatus, um festzustellen, ob der Vorgang erfolgreich war. Diese status Werte sind in der folgenden Tabelle zusammengefasst:

Statuswert Bedeutung
NO_ERROR Der Vorgang wurde durchgeführt.
ERROR_ACCESS_DENIED Der Benutzer verfügt über unzureichende Berechtigungen. Für den Befehl ist SERVER_ACCESS_ADMINISTER Berechtigung erforderlich.
ERROR_INSUFFICIENT_BUFFER Ein Ausgabepuffer ist erforderlich, aber kleiner als erforderlich.
ERROR_INVALID_DATA Ein Eingabepuffer ist erforderlich, aber der Zeiger darauf ist NULL, oder die Größe des Eingabepuffers ist kleiner als erforderlich.
ERROR_INVALID_HANDLE Das Xcv-Datenhandle ist ungültig.
ERROR_INVALID_LEVEL Die Struktur der Eingabe- oder Ausgabedaten ist nicht die richtige Version.
ERROR_INVALID_PARAMETER Ein Ausgabepuffer ist erforderlich, aber NULL, oder der erforderliche Ausgabeparameter ist NULL und der Ausgabepuffer ist zu klein, oder der TCP/IP-Standardportmonitor versteht den ausgegebenen Befehl nicht.