次の方法で共有


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 構造体で受け取ったスプーラー・ハンドルです。

  • スプーラー レジストリ関数は、クラスター レジストリ関数で使用される HKEY 型と PHKEY 型の代わりに HANDLE パラメーター型と PHANDLE パラメーター型を使用します。 モニターは、MONITORINIT 構造体の hckRegistryRoot メンバー内のルート レジストリの場所のハンドルを受け取ります。

必要条件

要件 価値
ヘッダー winsplp.h (Winsplp.h を含む)

関連項目

InitializePrintMonitor2

MONITORINIT