MONITORREG 구조체(winsplp.h)

MONITORREG 구조는 Win32 레지스트리 API 함수 대신 사용할 레지스트리 함수의 주소가 포함된 인쇄 모니터를 제공합니다.

구문

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 스풀러 레지스트리 함수에 대한 포인터입니다.

fpDeleteValue

DeleteValue 스풀러 레지스트리 함수에 대한 포인터입니다.

fpEnumValue

EnumValue 스풀러 레지스트리 함수에 대한 포인터입니다.

fpQueryValue

QueryValue 스풀러 레지스트리 함수에 대한 포인터입니다.

설명

MONITORREG 구조체의 주소는 인쇄 모니터의 InitializePrintMonitor2 함수에 전달되는 MONITORINIT 구조체에 제공됩니다.

포트 구성 정보를 저장할 때 인쇄 모니터는 Win32 레지스트리 API 또는 클러스터 레지스트리 API를 명시적으로 호출해서는 안 됩니다.

스풀러에는 레지스트리의 복사본이 포함되어 있습니다. Win32 레지스트리 API를 사용하여 스풀러에서 실제로 사용하는 값을 얻지 마세요. 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 구조에서 받은 스풀러 핸들입니다.

  • 스풀러 레지스트리 함수는 클러스터 레지스트리 함수에서 사용하는 HKEY 및 PHKEY 형식 대신 HANDLE 및 PHANDLE 매개 변수 형식을 사용합니다. 모니터는 MONITORINIT 구조의 hckRegistryRoot 멤버에서 루트 레지스트리 위치의 핸들을 받습니다.

요구 사항

요구 사항
헤더 winsplp.h(Winsplp.h 포함)

추가 정보

InitializePrintMonitor2

MONITORINIT