メインコンテンツへスキップ

WdDeleteRemoteFiles

リモート デバイス上のファイルとディレクトリをベスト エフォートで削除します。 導入バージョン: RIT 0.0.13-preview。

構文

パラメーター

_In_z_ remoteDevice
Type: const char*
リモート デバイスのアドレスまたは名前 (UTF-8)。たとえば "192.168.1.100" や "MyDevKit" です。 _In_z_ remoteFolderPath
Type: const char*
削除するリモート デバイス上のパス (UTF-8)。フォルダー パスを指定した場合はその内容が削除され、単一のファイル パスを指定した場合はそのファイルのみが削除されます。remoteFolderPath が絶対パスの場合、WdDeleteOptions の commonRootAlias は無視されます。 _In_opt_ deleteOptions
Type: const WdDeleteOptions*
省略可能。パスの解決に使用する共通ルート エイリアスと、ルート フォルダー自体の削除を試みるかどうかを指定します。remoteFolderPath が相対パスの場合に既定の共通ルートの場所を使用し、ルート フォルダーをそのまま残してその内容のみを削除するには、nullptr を渡します。remoteFolderPath が単一のファイルに解決される場合、deleteRootFolder は無視されます。 _In_opt_ searchOptions
Type: const WdDeleteSearchOptions*
省略可能。削除するファイルとディレクトリを選択するための包含/除外パターンと属性フィルターを指定します。すべての項目を対象にするには nullptr を渡します。これらのオプションは、remoteFolderPath がフォルダーに解決される場合にのみ適用され、単一のファイルに解決される場合は無視されます。 _In_opt_ statusCallbacks
Type: const WdDeleteStatusCallbacks*
現在は無視されます。nullptr を渡してください。進行状況コールバックやエラー コールバックは呼び出されません。 _In_opt_ cancellationHandle
Type: WdCancellationHandle
省略可能。WdCreateCancellationHandle で作成したキャンセル ハンドル。別のスレッドから WdCancelRemoteDelete に渡して、クライアントの待機を停止できます。キャンセルが不要な場合は nullptr を渡します。

戻り値

Type: HRESULT エンドポイントが成功を報告した場合、またはクライアントがキャンセルを検知した場合は S_OK を返します。それ以外の場合はエラー コードを返します。S_OK は、選択されたすべての項目が削除されたことを保証するものではありません。根本原因やトラブルシューティングのガイダンスを含む API 固有のエラー コードの一覧については、「XBOX PC Remote Iteration API のエラー コード」を参照してください。

解説

WdDeleteRemoteFiles は同期のブロッキング呼び出しです。エンドポイントの結果、エラー、または WdCancelRemoteDelete によるキャンセルの検知を待機します。削除はベスト エフォートで行われます。項目ごとの結果は返されず、ファイル削除の失敗はエンドポイントのログにのみ報告されます。 キャンセルを有効にするには、WdDeleteRemoteFiles を呼び出す前に WdCreateCancellationHandle を使用して WdCancellationHandle を作成し、別のスレッドからそれを WdCancelRemoteDelete に渡します。WdDeleteRemoteFiles から制御が戻った後、WdCloseCancellationHandle でハンドルを閉じます。 キャンセルによって停止されるのはクライアントの待機であり、エンドポイントで既に開始された削除ではありません。キャンセルが検知されると、この呼び出しはエンドポイントでの完了を確認せずに S_OK を返します。 既定では、remoteFolderPath の内容のみが削除され、フォルダー自体はそのまま残ります。内容の削除後にフォルダー自体の削除も試みるには、WdDeleteOptions の deleteRootFolder を true に設定します。フォルダーの削除はベスト エフォートで行われ、フォルダーが空になった場合にのみ試行されます。フィルター処理された削除によって項目が残った場合、フォルダーは保持されます。 deleteRootFolder の設定にかかわらず、この操作では、ディレクトリ フィルターを通過した空のサブディレクトリ (元から空だったディレクトリを含む) の削除も試みます。 remoteFolderPath が絶対パスの場合、WdDeleteOptions の commonRootAlias は無視されます。remoteFolderPath が相対パスの場合、commonRootAlias が指定されていない限り、既定の共通ルートの場所が使用されます。
[!WARNING] 削除処理は remoteFolderPath の下にあるディレクトリ ジャンクションやディレクトリ シンボリック リンクをたどり、そのディレクトリの外部にある一致するファイルを削除する可能性があります。その場合でも、操作は S_OK を返すことがあります。項目ごとの結果や元に戻す操作は提供されません。ルート自体がリンクされたディレクトリでないことを確認し、既知のリンクされたサブディレクトリを名前で除外するには excludeDirPattern を使用してください。

例

例 1: 展開フォルダーをクリアする

既定の設定を使用して、リモート デバイス上のゲーム フォルダーの内容の削除を試みます。フォルダー自体はそのまま残ります。正常に戻った場合でも、フォルダーが空であることは保証されません。

例 2: フィルター処理された削除

保存されたゲーム データを保持しながら、選択したビルド成果物の削除を試みます。

要件

関連項目

最終更新日 2026年10月6日