将文档的相对路径转换为可传递到 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
)
参数
- grfRPS
类型:System.UInt32
[in] 标记指定搜索路径应如何解决。有关更多信息,请参见 __VSRELPATHSEARCHFLAGS。
- 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 项下。QueryService 为 IVsRelativePathResolver 接口的每注册的服务调用。此步骤可通过设置 grfRPS 参数跳过等于 RPS_SkipGlobalResolvers。
如果方法未尝试在匹配的结果,函数用于设置 *pbstrAbsPath 到 nullnull 引用(在 Visual Basic 中为 Nothing) 并返回 S_FALSE。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。