4

SharePoint に保存されているファイルを編集できるように、アプリケーションを統合しています。私は Web クライアント サービス AKA WebDAV Redirector(webclnt.dll) を使用しています。これは、通常の CreateFile/read/write Windows API 呼び出しを、通常のドライブ I/O パスから WebDAV 経由でネットワークにリダイレクトする素晴らしい仕事をします。ただし、ファイルがチェックインされている場合、ファイルへの読み取り専用アクセスしか取得できません。

Web クライアント サービスを使用して、編集時にファイルをチェックアウトし、編集が終了したときにファイルをチェックインするにはどうすればよいですか?

編集: GetFileAttributes と SetFileAttributes を使用して FILE_ATTRIBUTE_READONLY をテストしてみました。そのフラグを使用して、ファイルがチェックアウトされていない時期を判断し、チェックアウトできることを期待しています (チェックアウトするフラグの設定を解除してから、チェックインしてください)。そこには運がありません。ファイルは常に読み取り専用ではないように見えます。

4

1 に答える 1

1

ファイルのチェックイン/チェックアウトを実行するには、次のコードを使用する必要があります。

SPSite oSite = new SPSite ("http://<sitename>/");
SPWeb oWeb = oSite.OpenWeb(); 
SPList oList = oWeb.Lists["Shared Documents"];
SPListItem oListItem = oList.Items[0]; //taking the first list item
oListItem.File.CheckOut();
oListItem["Name"] = "xyz";           
oListItem.Update();
oListItem.File.CheckIn("file name has been changed");

SharePoint WebService を介してチェックイン/チェックアウトを行う必要がある場合は、Windows Sharepoint Services Web Service Exampleに関する Brad McCable のブログのコードを参照してください。

于 2009-02-12T03:23:48.130 に答える