WebDAV リダイレクタを使用して、SharePoint リポジトリのファイルを編集しています。この方法でファイルを保存するたびに、以前のオブジェクトを置き換える新しいオブジェクトが取得されるようです。これにより、すべてのバージョン履歴が失われます。
ファイルを開くことは、CreateFile を介して次のように行われています。
filename - CreateFile への読み取り専用呼び出しに使用されるものと同じ (動作)
DesiredAccess: GENERIC_READ | GENERIC_WRITE
dwShareMode: FILE_SHARE_READ SecurityHandle: 長さは設定されていますが、他の 2 つのフィールドは 0 です
dwCreationDisposition: OPEN_EXISTING dwFlagsAndAttributes: FILE_ATTRIBUTE_NORMAL
hTemplateFile: NULL
この呼び出しによって返されたハンドルにファイルを書き込んだ後、このファイルのリスト項目を取得すると、オブジェクト番号 (ID=) がインクリメントされています。また、この ID 番号は、リスト アイテムの各フィールドの先頭に追加されているようです (実際のデータとはシーケンス "#;" で区切られています)。
この ID 番号の増加 (およびバージョン履歴の損失) は、Web インターフェイスを使用してチェックアウトし、編集してからチェックインした場合には発生しません。同じ ID を保持し、バージョン履歴はそのまま残ります。
どうすればこれを回避できますか? バージョン履歴を保持する必要があります。