QNtfsPermissionCheckGuard Class

QNtfsPermissionCheckGuardクラスは、NTFSのパーミッションチェックを管理するRAIIクラスです。詳細...

Header: #include <QNtfsPermissionCheckGuard>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Since: Qt 6.6

パブリック関数

(since 6.6) bool qAreNtfsPermissionChecksEnabled()
(since 6.6) bool qDisableNtfsPermissionChecks()
(since 6.6) bool qEnableNtfsPermissionChecks()

詳細説明

パフォーマンス上の理由から、QFileQFileInfo 、および関連するクラスは、デフォルトで 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 6.6以降、変数qt_ntfs_permission_lookup は非推奨となりました。

メンバ関数のドキュメント

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 で導入されました。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。