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 結構的位址是在 MONITORINIT 結構中提供,它會傳遞至列印監視器的 InitializePrintMonitor2 函式。

儲存埠組態資訊時,列印監視器不得明確呼叫 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 結構中收到的多任務緩衝處理程式。

  • 多任務緩衝處理程式登錄函式會使用 HANDLE 和 PHANDLE 參數類型,而不是叢集登錄函式所使用的 HKEY 和 PHKEY 類型。 監視器會在 MONITORINIT 結構的 hckRegistryRoot 成員中接收根登錄位置的句柄。

規格需求

需求
標頭 winsplp.h (包含 Winsplp.h)

另請參閱

InitializePrintMonitor2

MONITORINIT