COPY_INFORMATION構造体 (ntifs.h)
COPY_INFORMATION 構造体は、NtCopyFileChunkからのコピー操作読み取りと書き込みの呼び出しを関連付けます。
構文
typedef struct _COPY_INFORMATION {
PFILE_OBJECT SourceFileObject;
LONGLONG SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;
メンバーズ
SourceFileObject
コピーのソース ファイル オブジェクト。
SourceFileOffset
コピーのソース ファイルのファイル オフセット。 この値は、コピーが完全かつ忠実であることを確認するために、書き込み中にコピー先のファイル オフセットと比較できます。
備考
コピーの読み取り操作と書き込み操作には、それぞれの IRP 拡張機能に同じ情報が含まれているため、関連付けは、IopCopyInformationType IRP 拡張機能を持つすべての書き込みに対して COPY_INFORMATION を使用して行うことができます。
読み取り操作と書き込み操作が関連付けられ、コピーされたデータが検証された場合、書き込まれたコピー先ファイルは、ソースの完全で忠実なコピーと見なすことができます。 つまり、信頼はソース ファイルから宛先に渡すことができます。
通常、コピーはチャンク単位で行われます。 ファイル コピー全体を検証するには:
各チャンク (NtCopyFileChunkをする各呼び出し) には、その書き込み操作が前の読み取り操作と関連付けられる必要があります。
一緒にコピーされるすべてのチャンクは、ファイルの範囲全体をカバーする必要があります。
フィルターは、次のように、書き込みの IRP 拡張機能で提供されるソース情報を使用して、コピーされたデータの正確性を確認できます。
- SourceFileObject で一致する読み取り発生したことを確認します。
- SourceFileOffset が書き込み操作のファイル オフセットと一致することを確認します。
詳細については、カーネル モードのファイルコピーとファイルのコピーの検出シナリオ を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 11 バージョン 22H2 |
ヘッダー | ntifs.h |
関連項目
FltGetCopyInformationFromCallbackDataの
IoCheckFileObjectOpenedAsCopySourceの
IoCheckFileObjectOpenedAsCopyDestinationの
NtCopyFileChunkの
NtCreateFileをする