RegOpenKeyTransactedW 関数 (winreg.h)
指定したレジストリ キーを開き、トランザクションに関連付けます。 キー名では大文字と小文字が区別されないことに注意してください。
構文
LSTATUS RegOpenKeyTransactedW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult,
[in] HANDLE hTransaction,
PVOID pExtendedParemeter
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 このハンドルは、
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
開くレジストリ サブキーの名前。
キー名では大文字と小文字は区別されません。
詳細については、「レジストリ要素のサイズ制限
[in] ulOptions
このパラメーターは予約済みであり、0 である必要があります。
[in] samDesired
キーに対する必要なアクセス権を指定するマスク。 キーのセキュリティ記述子が呼び出し元プロセスに対して要求されたアクセスを許可していない場合、関数は失敗します。 詳細については、「レジストリ キーのセキュリティとアクセス権のを
[out] phkResult
開かれたキーへのハンドルを受け取る変数へのポインター。 キーが定義済みのレジストリ キーの 1 つでない場合は、ハンドルの使用が完了した後、RegCloseKey 関数を呼び出します。
[in] hTransaction
アクティブなトランザクションへのハンドル。 このハンドルは、CreateTransaction 関数によって返されます。
pExtendedParemeter
このパラメーターは予約されており、NULL
戻り値
関数が成功した場合、戻り値はERROR_SUCCESS。
関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。
備考
この関数を使用してキーを開くと、そのキーに対する後続の操作が処理されます。 トランザクションがコミットされる前に、トランザクション以外の操作がキーに対して実行された場合、トランザクションはロールバックされます。 トランザクションがコミットまたはロールバックされたら、
このキーのサブキーに対する後続の操作は自動的には処理されないことに注意してください。 したがって、RegDeleteKeyEx 関数は、トランザクション削除操作を実行しません。 代わりに、RegDeleteKeyTransacted 関数を使用して、トランザクション削除操作を実行します。
RegCreateKeyTransacted 関数とは異なり、RegOpenKeyTransacted 関数は、レジストリにキーが存在しない場合、指定されたキーを作成しません。
サービスまたはアプリケーションが異なるユーザーを偽装する場合は、この関数を HKEY_CURRENT_USERで使用しないでください。 代わりに、RegOpenCurrentUser 関数を呼び出します。
phkResult
1 つのレジストリ キーは 65,534 回しか開けません。 65,535 開く操作を試行すると、この関数はERROR_NO_SYSTEM_RESOURCESで失敗します。
手記
winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegOpenKeyTransacted を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winreg.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
RegCreateKeyTransacted の
RegDeleteKeyTransacted の
レジストリ関数 を