@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-usb-safe-removal-write-cache/#article>
    schema:about <https://comcomponent.com/knowledge/safely-remove-hardware/>, <https://comcomponent.com/knowledge/quick-removal-policy/>, <https://comcomponent.com/knowledge/better-performance-removal-policy/> ;
    schema:mentions <https://comcomponent.com/knowledge/write-behind-caching/>, <https://comcomponent.com/knowledge/file-handle/>, <https://comcomponent.com/knowledge/device-removal-blocked/>, <https://comcomponent.com/knowledge/process-explorer/>, <https://comcomponent.com/knowledge/flushfilebuffers/> .

<https://comcomponent.com/knowledge/safely-remove-hardware/> a skos:Concept ;
    skos:prefLabel "ハードウェアの安全な取り外し"@ja ;
    skos:definition "ストレージの残る書き込みを完了し、開いた参照などを含めて機器の利用を終了できるか確認してから、取り外し可能な状態へ進めるWindowsの操作。アプリの保存操作の代わりではない。"@ja ;
    skos:altLabel "Safely Remove Hardware" ;
    skos:altLabel "安全な取り外し"@ja .

<https://comcomponent.com/knowledge/quick-removal-policy/> a skos:Concept ;
    skos:prefLabel "クイック取り外し"@ja ;
    skos:definition "外部ストレージを取り外しやすい状態に保つWindowsのポリシー。Windowsによるディスク書き込みのキャッシュを使わず、安全な取り外し操作を省略できる設計にする。未完了のコピーやアプリの未保存データを完成させるものではない。"@ja ;
    skos:altLabel "Quick removal" ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/better-performance-removal-policy/> .

<https://comcomponent.com/knowledge/better-performance-removal-policy/> a skos:Concept ;
    skos:prefLabel "高パフォーマンス（取り外しポリシー）"@ja ;
    skos:definition "外部ストレージへの書き込みキャッシュを利用できるWindowsのポリシー。機器を外すときは安全な取り外し操作が必要。電源プランの高パフォーマンスとは別の設定。"@ja ;
    skos:altLabel "Better performance" ;
    ks:requires <https://comcomponent.com/knowledge/safely-remove-hardware/> .

<https://comcomponent.com/knowledge/write-behind-caching/> a skos:Concept ;
    skos:prefLabel "ライトバックキャッシュ(遅延書き込み方式)"@ja ;
    skos:definition "書き込みをまずシステムキャッシュへ反映し、ディスクへの反映を後回しにするWindowsファイルキャッシュの既定方式。WriteFileの成功はディスクへの永続化を意味しない。"@ja ;
    skos:altLabel "ライトビハインド"@ja ;
    skos:altLabel "write-behind caching" ;
    skos:altLabel "lazy writing" ;
    skos:broader <https://comcomponent.com/knowledge/cache-manager/> .

<https://comcomponent.com/knowledge/file-handle/> a skos:Concept ;
    skos:prefLabel "ファイルハンドル"@ja ;
    skos:definition "プロセスのハンドルテーブルを経由した、ファイルオブジェクトへの参照。CreateFileが返し、ユーザーモードのプロセスがI/O操作の対象を指定するのに使う値。"@ja ;
    skos:altLabel "HANDLE" ;
    skos:altLabel "SafeFileHandle" .

<https://comcomponent.com/knowledge/device-removal-blocked/> a skos:Concept ;
    skos:prefLabel "機器の取り外しが拒否される状態"@ja ;
    skos:definition "開いたハンドルやドライバーなどの状態により、Windowsが機器の取り外し要求を受け入れられない状態。現在の読み書きがゼロでも起こり得る。"@ja ;
    skos:altLabel "使用中で取り外せない"@ja .

<https://comcomponent.com/knowledge/process-explorer/> a skos:Concept ;
    skos:prefLabel "Process Explorer"@ja ;
    skos:definition "プロセスに読み込まれているDLLだけでなく、ハンドル・スレッドスタック・GDI/USERオブジェクト数なども確認できるSysinternalsのプロセス監視ツール。管理者として実行すると他ユーザーやサービスのプロセスも参照できる。"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/better-performance-removal-policy/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/safely-remove-hardware/> ;
    schema:description "高パフォーマンスポリシーを使う外部ストレージは、取り外すときに安全な取り外し操作を行う必要がある。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/client-management/client-tools/change-default-removal-policy-external-storage-media> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/better-performance-removal-policy/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/write-behind-caching/> ;
    schema:description "高パフォーマンスでは対象の外部ストレージへの書き込みをWindowsがキャッシュして後回しにできる。実際の利用は設定やI/Oの指定にも依存する。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/client-management/client-tools/change-default-removal-policy-external-storage-media>, <https://learn.microsoft.com/en-us/windows/win32/fileio/file-caching> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/quick-removal-policy/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/better-performance-removal-policy/> ;
    schema:description "同じ機器の同じ取り外しポリシーとして同時に選択するものではなく、どちらの方針で扱うかを選ぶ。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/client-management/client-tools/change-default-removal-policy-external-storage-media> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/quick-removal-policy/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/write-behind-caching/> ;
    schema:description "対象の外部ストレージに対するWindowsのディスク書き込みキャッシュという範囲では、クイック取り外しは書き込みをキャッシュして後回しにする扱いを避ける。アプリ自身の一時領域や機器内部の全キャッシュがなくなるという主張ではない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/client-management/client-tools/change-default-removal-policy-external-storage-media> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/file-handle/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/device-removal-blocked/> ;
    schema:description "取り外したい機器上のファイルを開いた参照が残っている場合、ファイルシステムが取り外し要求を拒否し得る。別の機器のハンドルまで原因だという意味ではない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/handling-an-irp-mn-query-remove-device-request> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/device-removal-blocked/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/process-explorer/> ;
    schema:description "使用中で外せない原因の調査として、対象USB上のファイル名やフォルダー名を検索し、開いているプロセスを調べる。すべての取り外し拒否を診断できるとは限らない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer>, <https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/handling-an-irp-mn-query-remove-device-request> ;
    ks:verifiedAt "2026-09-12" ;
    ks:certainty "context-dependent" .
