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


Структура MONITORREG (winsplp.h)

Структура MONITORREG предоставляет мониторы печати с адресом функций реестра, которые будут использоваться вместо функций API реестра Win32.

Синтаксис

typedef struct _MONITORREG {
  DWORD cbSize;
  LONG()(HKEYMONITOR hcKey,LPCTSTR pszSubKey,DWORD dwOptions,REGSAM samDesired,PSECURITY_ATTRIBUTES pSecurityAttributes,HKEYMONITOR *phckResult,PDWORD pdwDisposition,HANDLE hSpooler) * fpCreateKey;
  LONG()(HKEYMONITOR hcKey,LPCTSTR pszSubKey,REGSAM samDesired,HKEYMONITOR *phkResult,HANDLE hSpooler) * fpOpenKey;
  LONG( )(HKEYMONITOR hcKey,HANDLE hSpooler) *fpCloseKey;
  LONG( )(HKEYMONITOR hcKey,LPCTSTR pszSubKey,HANDLE hSpooler) *fpDeleteKey;
  LONG( )(HKEYMONITOR hcKey,DWORD dwIndex,LPTSTR pszName,PDWORD pcchName,PFILETIME pftLastWriteTime,HANDLE hSpooler) *fpEnumKey;
  LONG( )(HKEYMONITOR hcKey,PDWORD pcSubKeys,PDWORD pcbKey,PDWORD pcValues,PDWORD pcbValue,PDWORD pcbData,PDWORD pcbSecurityDescriptor,PFILETIME pftLastWriteTime,HANDLE hSpooler) *fpQueryInfoKey;
  LONG()(HKEYMONITOR hcKey,LPCTSTR pszValue,DWORD dwType, const BYTE *pData,DWORD cbData,HANDLE hSpooler) * fpSetValue;
  LONG( )(HKEYMONITOR hcKey,LPCTSTR pszValue,HANDLE hSpooler) *fpDeleteValue;
  LONG( )(HKEYMONITOR hcKey,DWORD dwIndex,LPTSTR pszValue,PDWORD pcbValue,PDWORD pTyp,PBYTE pData,PDWORD pcbData,HANDLE hSpooler) *fpEnumValue;
  LONG( )(HKEYMONITOR hcKey,LPCTSTR pszValue,PDWORD pType,PBYTE pData,PDWORD pcbData,HANDLE hSpooler) *fpQueryValue;
} MONITORREG, *PMONITORREG;

Члены

cbSize

Размер (в байтах) структуры MONITORREG .

fpCreateKey

Указатель на функцию реестра очереди CreateKey .

fpOpenKey

Указатель на функцию реестра очереди очереди OpenKey .

fpCloseKey

Указатель на функцию реестра очереди очереди CloseKey .

fpDeleteKey

Указатель на функцию реестра диспетчера очереди DeleteKey .

fpEnumKey

Указатель на функцию реестра очереди EnumKey .

fpQueryInfoKey

Указатель на функцию реестра очереди очереди QueryInfoKey .

fpSetValue

Указатель на функцию реестра setValue spooler.

fpDeleteValue

Указатель на функцию реестра очереди DeleteValue .

fpEnumValue

Указатель на функцию реестра очереди очереди EnumValue .

fpQueryValue

Указатель на функцию реестра очереди QueryValue .

Комментарии

Адрес структуры MONITORREG предоставляется в структуре MONITORINIT , которая передается функции InitializePrintMonitor2 монитора печати.

При хранении сведений о конфигурации портов мониторы печати не должны явно вызывать API реестра Win32 или API реестра кластера.

Очередь очереди содержит копию реестра. Не используйте API реестра Win32 для получения значения, которое фактически используется диспетчером очереди печати. Используйте перечисленные ниже функции реестра очереди очереди, указатели которых содержатся в структуре MONITORREG .

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

Функция реестра очереди очереди Эквивалентная функция реестра кластера
Createkey ClusterRegCreateKey
OpenKey ClusterRegOpenKey
CloseKey ClusterRegCloseKey
DeleteKey ClusterRegDeleteKey
EnumKey ClusterRegEnumKey
QueryInfoKey ClusterRegQueryInfoKey
SetValue ClusterRegSetValue
DeleteValue ClusterRegDeleteValue
EnumValue ClusterRegEnumValue
QueryValue ClusterRegQueryValue

Входные и выходные параметры для этих функций очереди очереди соответствуют параметрам эквивалентных функций реестра кластера в заголовке clusapi.h со следующими исключениями:

  • Для каждой функции реестра очереди очереди требуется входной параметр hSpooler . Это дескриптор очереди, полученный в структуре MONITORINIT .

  • Функции реестра очереди очереди используют типы параметров HANDLE и PHANDLE вместо типов HKEY и PHKEY, используемых функциями реестра кластера. Мониторы получают дескриптор корневого расположения реестра в элементе hckRegistryRoot структуры MONITORINIT .

Требования

Требование Значение
Заголовок winsplp.h (включая Winsplp.h)

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

InitializePrintMonitor2

MONITORINIT