Función RegOpenKeyTransactedA (winreg.h)
Abre la clave del Registro especificada y la asocia a una transacción. Tenga en cuenta que los nombres de clave no distinguen mayúsculas de minúsculas.
Sintaxis
LSTATUS RegOpenKeyTransactedA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult,
[in] HANDLE hTransaction,
PVOID pExtendedParemeter
);
Parámetros
[in] hKey
Identificador de una clave del Registro abierta. Este identificador lo devuelve el RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExo función RegOpenKeyTransacted. También puede ser una de las siguientes claves predefinidas:
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
Nombre de la subclave del Registro que se va a abrir.
Los nombres de clave no distinguen mayúsculas de minúsculas.
Si el parámetro
Para obtener más información, consulte límites de tamaño de elemento del Registro .
[in] ulOptions
Este parámetro está reservado y debe ser cero.
[in] samDesired
Máscara que especifica los derechos de acceso deseados a la clave. Se produce un error en la función si el descriptor de seguridad de la clave no permite el acceso solicitado para el proceso de llamada. Para obtener más información, consulte Derechos de acceso y seguridad de claves del Registro.
[out] phkResult
Puntero a una variable que recibe un identificador de la clave abierta. Si la clave no es una de las claves del Registro predefinidas, llame a la función RegCloseKey después de haber terminado de usar el identificador .
[in] hTransaction
Identificador de una transacción activa. El función createTransaction devuelve este identificador.
pExtendedParemeter
Este parámetro está reservado y debe ser NULL.
Valor devuelto
Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto.
Si se produce un error en la función, el valor devuelto es un código de error distinto de cero definido en Winerror.h. Puede usar la función
Observaciones
Cuando se abre una clave mediante esta función, se realizan operaciones posteriores en la clave. Si se realiza una operación no transaccionada en la clave antes de confirmar la transacción, la transacción se revierte. Después de confirmar o revertir una transacción, debe volver a abrir la clave mediante el RegCreateKeyTransacted o RegOpenKeyTransacted función con un identificador de transacción activo para realizar transacciones adicionales. Para obtener más información sobre las transacciones, consulte administrador de transacciones de kernel.
Tenga en cuenta que las operaciones posteriores en subclaves de esta clave no se realizan automáticamente. Por lo tanto, la función RegDeleteKeyEx no realiza una operación de eliminación de transacciones. En su lugar, use la función regDeleteKeyTransacted de
A diferencia de la función RegCreateKeyTransacted
Si el servicio o la aplicación suplantan a distintos usuarios, no use esta función con HKEY_CURRENT_USER. En su lugar, llame a la función RegOpenCurrentUser
Si la clave devuelta en phkResult es una clave del Registro predefinida, no se incluye en la transacción proporcionada.
Una sola clave del Registro solo se puede abrir 65 534 veces. Al intentar la operación abierta de 65 535 65 535, esta función produce un error en ERROR_NO_SYSTEM_RESOURCES.
Nota
El encabezado winreg.h define RegOpenKeyTransacted como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winreg.h (incluya Windows.h) |
biblioteca de |
Advapi32.lib |
DLL de |
Advapi32.dll |
Consulte también
de información general del Registro de