次の方法で共有


IFileDataRetriever::GetRelativeDirectoryPath

レプリカのルート ディレクトリに対して相対的なファイル パスを取得します。

HRESULT GetRelativeDirectoryPath(
  LPWSTR pszDirectoryPath,
  ULONG *pcchDirectoryPathLength);

パラメーター

  • pszDirectoryPath
    [in, out, size_is(*pcchDirectoryPathLength)] レプリカのルート ディレクトリに対して相対的なファイル パスを返します。このパスの最初の文字にスラッシュを使用することはできません。
  • pcchDirectoryPathLength
    [in, out] pszDirectoryPath の文字数を指定します。書き込まれた文字数を返します。pszDirectoryPath が小さすぎる場合は、ディレクトリを取得するのに必要な文字数を返します。

戻り値

  • S_OK

  • E_POINTER

  • E_INVALIDARG

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) (pszDirectoryPath が小さすぎる場合。この場合、必要な文字数が pcchDirectoryPathLength に返されます。)

解説

ファイルの完全相対パスを取得するには、pszDirectoryPath に返されたパスと、IFileDataRetriever::GetFileInfo によって返された WIN32_FIND_DATAW.cFileName 値に含まれるファイル名を組み合わせます。

pszDirectoryPath に返されたパスは、レプリカのルート ディレクトリに対する相対パスです。このパスの最初の文字にスラッシュを使用することはできません。たとえば、このメソッドがレプリカのルート ディレクトリのファイルに対して呼び出された場合、pszDirectoryPath には空の文字列 " " が含まれます。

参照

リファレンス

IFileDataRetriever インターフェイス