QNtfsPermissionCheckGuard Class
QNtfsPermissionCheckGuard クラスは、NTFS のアクセス権チェックを管理するための RAII クラスです。詳細...
| ヘッダー: | #include <QNtfsPermissionCheckGuard> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 以下のように: | Qt 6.6 |
- 継承されたメンバーを含む全メンバーの一覧
- QNtfsPermissionCheckGuard は、入力/出力およびネットワークの一部です。
パブリック関数
関連する非メンバー
(since 6.6) bool | qAreNtfsPermissionChecksEnabled() |
(since 6.6) bool | qDisableNtfsPermissionChecks() |
(since 6.6) bool | qEnableNtfsPermissionChecks() |
詳細な説明
パフォーマンス上の理由から、QFile 、QFileInfo 、および関連クラスは、デフォルトでは NTFS ファイルシステムに対して完全な所有権およびアクセス許可 (ACL) のチェックを実行しません。このクラスのインスタンスが存在する間は、そのデフォルト設定が上書きされ、高度なチェックが実行されます。これにより、デフォルトの動作に対するこの変更を有効または無効にすることを、安全かつ簡単に管理できるようになります。
例:
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このクラスは Windows でのみ利用可能です。
qt_ntfs_permission_lookup
Qt 6.6 以前は、ユーザーはグローバル変数 `qt_ntfs_permission_lookup` を直接操作する必要がありました。しかし、これは非アトミックなグローバル変数であったため、データ競合が発生しやすくなっていました。
そのため、qt_ntfs_permission_lookup 変数は Qt 6.6 以降、非推奨となっています。
メンバ関数のドキュメント
QNtfsPermissionCheckGuard::QNtfsPermissionCheckGuard()
ガードを作成し、qEnableNtfsPermissionChecks() 関数を呼び出します。
[noexcept] QNtfsPermissionCheckGuard::~QNtfsPermissionCheckGuard()
ガードを破棄し、関数 `qDisableNtfsPermissionChecks()` を呼び出します。
関連する非メンバー
[noexcept, since 6.6] bool qAreNtfsPermissionChecksEnabled()
NTFS ファイルシステムにおけるアクセス権チェックの状態を確認します。チェックが有効になっている場合は、true を返します。
この関数は Windows でのみ利用可能であり、qt_ntfs_permission_lookup を直接操作する必要はなくなりました。
注: この関数のスレッドセーフ性は 、qt_ntfs_permission_lookup に対する同時更新がない場合にのみ保証されます。
注: この関数はスレッドセーフです。
この関数は Qt 6.6 で導入されました。
[noexcept, since 6.6] bool qDisableNtfsPermissionChecks()
NTFS ファイルシステムでの権限チェックを無効にします。チェックが無効になっている場合(つまり、ユーザーがもう存在しない場合)、true を返します。
この関数は Windows でのみ利用可能であり、qt_ntfs_permission_lookup の直接操作は不要になります。
これは低レベルの関数であり、以前に呼び出されたqEnableNtfsPermissionChecks() への呼び出しと対応させるために(のみ)呼び出す必要があります。代わりに、RAII クラスQNtfsPermissionCheckGuard の使用をご検討ください。
注:この関数のスレッドセーフ性は 、qt_ntfs_permission_lookup に対する並行更新が行われていない場合にのみ保証されます。
注: この関数はスレッドセーフです。
この関数は Qt 6.6 で導入されました。
[noexcept, since 6.6] bool qEnableNtfsPermissionChecks()
NTFS ファイルシステムでの権限チェックを有効にします。この関数の呼び出し前にすでにチェックが有効になっていた場合(つまり、他のユーザーが存在する場合)、true を返します。
この関数は Windows でのみ利用可能であり、qt_ntfs_permission_lookup の直接操作は非推奨となります。
これは低レベルの関数であるため、代わりに RAII クラス `QNtfsPermissionCheckGuard ` の使用を検討してください。
注: この関数のスレッドセーフ性は 、qt_ntfs_permission_lookup に対する同時更新がない場合にのみ保証されます。
注: この関数はスレッドセーフです。
この関数は 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.