Freigeben über


EnumMonitors-Funktion

Die EnumMonitors-Funktion ruft Informationen zu den Portmonitoren ab, die auf dem angegebenen Server installiert sind.

Syntax

BOOL EnumMonitors(
  _In_  LPTSTR  pName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pMonitors,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

pName [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen des Servers angibt, auf dem sich die Monitore befinden. Wenn dieser Parameter NULL ist, werden die lokalen Monitore aufgelistet.

Ebene [in]

Die Version der Struktur, auf die von pMonitors verwiesen wird.

Dieser Wert kann 1 oder 2 sein.

pMonitors [out]

Ein Zeiger auf einen Puffer, der ein Array von Strukturen empfängt. Der Puffer muss groß genug sein, um die Zeichenfolgen zu speichern, auf die von den Strukturelementen verwiesen wird.

Um die erforderliche Puffergröße zu ermitteln, rufen Sie EnumMonitors auf, wobei cbBuf auf Null festgelegt ist. EnumMonitors schlägt fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und der pcbNeed-Parameter gibt die Größe des Puffers zurück, der für das Array von Strukturen und deren Daten erforderlich ist.

Der Puffer empfängt ein Array von MONITOR_INFO_1 Strukturen, wenn Ebene 1 ist, oder MONITOR_INFO_2 Strukturen, wenn Ebene 2 ist.

cbBuf [in]

Die Größe des Puffers in Bytes, auf den pMonitors verweist.

pcbNeeded [ out]

Ein Zeiger auf eine Variable, die die Anzahl der kopierten Bytes empfängt, wenn die Funktion erfolgreich ist, oder die Anzahl der erforderlichen Bytes, wenn cbBuf zu klein ist.

pcReturned [out]

Ein Zeiger auf eine Variable, die die Anzahl von Strukturen empfängt, die im Puffer zurückgegeben wurden, auf den pMonitors verweist.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Bemerkungen

Hinweis

Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierungsfaktoren ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Wenn Sie diese Funktion über einen Thread aufrufen, der die Interaktion mit der Benutzeroberfläche verwaltet, kann die Anwendung nicht reagieren.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winspool.h (einschließlich Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
EnumMonitorsW (Unicode) und EnumMonitorsA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

MONITOR_INFO_1

MONITOR_INFO_2