Поделиться через


Функция EnumMonitors

Функция EnumMonitors извлекает сведения о мониторах портов, установленных на указанном сервере.

Синтаксис

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

Параметры

pName [in]

Указатель на строку, завершающуюся null, которая указывает имя сервера, на котором находятся мониторы. Если этот параметр имеет значение NULL, перечисляются локальные мониторы.

Level [in]

Версия структуры, на которую указывает pMonitors.

Это значение может быть 1 или 2.

pMonitors [out]

Указатель на буфер, получающий массив структур. Буфер должен быть достаточно большим для хранения строк, на которые ссылаются члены структуры.

Чтобы определить требуемый размер буфера, вызовите EnumMonitors с cbBuf, для параметра cbBuf задано значение 0. EnumMonitors завершается сбоем, GetLastError возвращает ERROR_INSUFFICIENT_BUFFER, а параметр pcbNeeded возвращает размер буфера, необходимого для хранения массива структур и их данных, в байтах.

Буфер получает массив MONITOR_INFO_1 структур, если уровень равен 1, или MONITOR_INFO_2 структур, если уровень равен 2.

cbBuf [in]

Размер (в байтах) буфера, на который указывает pMonitors.

pcbNeeded [ out]

Указатель на переменную, которая получает количество байтов, скопированных при успешном выполнении функции, или количество байтов, необходимое, если cbBuf слишком мало.

pcReturned [out]

Указатель на переменную, которая получает количество структур, возвращенных в буфере, на который указывает pMonitors.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Примечание

Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и факторы реализации драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Winspool.drv
Имя в кодировке Юникод и ANSI
EnumMonitorsW (Юникод) и EnumMonitorsA (ANSI)

См. также раздел

Вывод на печать

Функции API очереди печати принтера

MONITOR_INFO_1

MONITOR_INFO_2