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


Структура 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 spooler.

fpOpenKey

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

fpCloseKey

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

fpDeleteKey

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

fpEnumKey

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

fpQueryInfoKey

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

fpSetValue

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

fpDeleteValue

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

fpEnumValue

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

fpQueryValue

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

Замечания

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

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

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

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

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

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

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

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

Требования

Требование Ценность
заголовка winsplp.h (include Winsplp.h)

См. также

InitializePrintMonitor2

MONITORINIT