que estaba mirando la documentación para DuplicateHandle
el otro día y se dio cuenta de que DuplicateHandle es capaz de copiar identificadores de clave de registro (s) HKEY
. Al leer esto un poco más en el libro de SysInternals, parece indicar que los identificadores de clave de registro son simples objetos del kernel, similares a los manejadores de archivos. Sin embargo, CloseHandle
no se puede cerrar HKEY
s, y RegCloseKey
no puede cerrar otros tipos de objetos de kernel.¿Por qué existe RegCloseKey (cuando CloseHandle parece realizar la misma función)?
¿Por qué la diferencia?
Hmm, sólo puede adivinar que HKEYs fueron introducidas anteriormente (en Windows 3.1), y luego Microsoft no quería unificar las interfaces a pesar de que las implementaciones se han fusionado. – Philipp
Solo estoy adivinando aquí: Al final de la documentación para 'CloseHandle()' dice: > Cerrar un manejador de subproceso no finaliza el subproceso asociado ni elimina el objeto de subproceso. Cerrar un identificador de proceso no finaliza el proceso asociado ni elimina el objeto de proceso. Para eliminar un objeto de subproceso, debe finalizar el subproceso y luego cerrar todos los identificadores al subproceso. Para obtener más información, vea Terminar un hilo. Para eliminar un objeto de proceso, debe finalizar el proceso y luego cerrar todos los identificadores del proceso. Se pueden realizar operaciones similares al cerrar una clave de registro. – yasouser
@Philipp: Eso es lo que yo también pensé, excepto, por ejemplo, CreateFile estuvo disponible en Win3.1 días (si no me equivoco), y no hay función de "CloseFile". –