QNtfsPermissionCheckGuard Class
La clase QNtfsPermissionCheckGuard es una clase RAII para gestionar la comprobación de permisos NTFS. Más...
| Cabecera: | #include <QNtfsPermissionCheckGuard> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Desde: | Qt 6.6 |
- Lista de todos los miembros, incluyendo los heredados
- QNtfsPermissionCheckGuard es parte de Entrada/Salida y Redes.
Funciones Públicas
No Miembros Relacionados
(since 6.6) bool | qAreNtfsPermissionChecksEnabled() |
(since 6.6) bool | qDisableNtfsPermissionChecks() |
(since 6.6) bool | qEnableNtfsPermissionChecks() |
Descripción detallada
Por razones de rendimiento, QFile, QFileInfo, y las clases relacionadas no realizan la comprobación completa de propiedad y permisos (ACL) en los sistemas de archivos NTFS de forma predeterminada. Durante el tiempo de vida de cualquier instancia de esta clase, ese valor predeterminado se anula y se realiza una comprobación avanzada. Esto proporciona una forma segura y sencilla de gestionar la activación y desactivación de este cambio en el comportamiento por defecto.
Ejemplo:
void complexFunction() { QNtfsPermissionCheckGuard permissionGuard; // check is enabled // do complex things here that need permission check enabled } // as the guard goes out of scope the check is disabled
Esta clase sólo está disponible en Windows.
qt_ntfs_permission_lookup
Antes de Qt 6.6, el usuario tenía que manipular directamente la variable global qt_ntfs_permission_lookup. Sin embargo, se trataba de una variable global no atómica y, como tal, era propensa a las carreras de datos.
Por lo tanto, la variable qt_ntfs_permission_lookup está obsoleta desde Qt 6.6.
Documentación de las funciones miembro
QNtfsPermissionCheckGuard::QNtfsPermissionCheckGuard()
Crea una guardia y llama a la función qEnableNtfsPermissionChecks().
[noexcept] QNtfsPermissionCheckGuard::~QNtfsPermissionCheckGuard()
Destruye la guarda y llama a la función qDisableNtfsPermissionChecks().
Relacionados No miembros
[noexcept, since 6.6] bool qAreNtfsPermissionChecksEnabled()
Comprueba el estado de las comprobaciones de permisos en los sistemas de archivos NTFS. Devuelve true si la comprobación está activada.
Esta función sólo está disponible en Windows y hace obsoleta la manipulación directa de qt_ntfs_permission_lookup.
Nota: La seguridad de hilos de esta función sólo se mantiene mientras no haya actualizaciones concurrentes en qt_ntfs_permission_lookup.
Nota: Esta función es segura para subprocesos.
Esta función se introdujo en Qt 6.6.
[noexcept, since 6.6] bool qDisableNtfsPermissionChecks()
Desactiva la comprobación de permisos en sistemas de archivos NTFS. Devuelve true si la comprobación está desactivada, lo que significa que no hay más usuarios.
Esta función sólo está disponible en Windows y hace obsoleta la manipulación directa de qt_ntfs_permission_lookup.
Esta es una función de bajo nivel y debe (sólo) ser llamada para coincidir con una llamada anterior a qEnableNtfsPermissionChecks(). Por favor, considere la clase RAII QNtfsPermissionCheckGuard en su lugar.
Nota: La seguridad de hilos de esta función se mantiene sólo mientras no haya actualizaciones concurrentes a qt_ntfs_permission_lookup.
Nota: Esta función es segura para subprocesos.
Esta función se introdujo en Qt 6.6.
[noexcept, since 6.6] bool qEnableNtfsPermissionChecks()
Activa la comprobación de permisos en sistemas de archivos NTFS. Devuelve true si la comprobación ya estaba habilitada antes de la llamada a esta función, lo que significa que hay otros usuarios.
Esta función sólo está disponible en Windows y hace obsoleta la manipulación directa de qt_ntfs_permission_lookup.
Esta es una función de bajo nivel, por favor considere la clase RAII QNtfsPermissionCheckGuard en su lugar.
Nota: La seguridad de hilos de esta función sólo se mantiene mientras no haya actualizaciones concurrentes en qt_ntfs_permission_lookup.
Nota: Esta función es segura para subprocesos.
Esta función fue introducida en Qt 6.6.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.