IVsUIShellOpenDocument.SearchProjectsForRelativePath 方法

将文档的相对路径转换为可传递到 OpenDocumentViaProject的绝对路径。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
Function SearchProjectsForRelativePath ( _
    grfRPS As UInteger, _
    pszRelPath As String, _
    <OutAttribute> pbstrAbsPath As String() _
) As Integer
int SearchProjectsForRelativePath(
    uint grfRPS,
    string pszRelPath,
    string[] pbstrAbsPath
)

参数

  • pszRelPath
    类型:System.String
    [in] 文档的相对路径。这可能是文件名。
  • pbstrAbsPath
    类型:array<System.String[]
    [out, retval] 文档的完整路径名。这是相同的 pszMkDocument 字符串值。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 vsshell.idl:

HRESULT IVsUIShellOpenDocument::SearchProjectsForRelativePath(
   [in] VSRELPATHSEARCHFLAGS grfRPS,
   [in] LPCOLESTR pszRelPath,
   [out, retval] BSTR *pbstrAbsPath
);

此方法使用两种方法:

  • 枚举所有项目的项目项并将 pszMkDocument (或项目路径,则为; RPS_MatchByProjectPath 标志指定) 项目项比较 pszRelPath 。此比较不区分大小写。pszRelPath 的值可以是文档名称,而不用路径或以匹配 pszMkDocument 的一部分路径的文档名称 (或项目路径) 的有效右边的部分。(sprint) 事件项目执行的最高优先级别。此步骤可通过设置为 RPS_SkipEnumProjectItems的值 grfRPS 参数跳过。

  • 所有请求全局注册的 IVsRelativePathResolver 对象解析路径。此结构允许项目语言服务解析相对路径非项目项 (例如,因此,如果项目具有包含搜索路径的概念)。全局 IVsRelativePathResolver 对象注册服务 GUID (SID) 作为子项在注册表中的 HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\7.0\RelativePathResolvers 项下。QueryServiceIVsRelativePathResolver 接口的每注册的服务调用。此步骤可通过设置 grfRPS 参数跳过等于 RPS_SkipGlobalResolvers

如果方法未尝试在匹配的结果,函数用于设置 *pbstrAbsPath 到 nullnull 引用(在 Visual Basic 中为 Nothing) 并返回 S_FALSE

.NET Framework 安全性

请参见

参考

IVsUIShellOpenDocument 接口

Microsoft.VisualStudio.Shell.Interop 命名空间