IVsUIShellOpenDocument.SearchProjectsForRelativePath 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
int SearchProjectsForRelativePath(System::UInt32 grfRPS, System::String ^ pszRelPath, cli::array <System::String ^> ^ pbstrAbsPath);
public:
int SearchProjectsForRelativePath(unsigned int grfRPS, Platform::String ^ pszRelPath, Platform::Array <Platform::String ^> ^ pbstrAbsPath);
int SearchProjectsForRelativePath(unsigned int grfRPS, std::wstring const & pszRelPath, std::Array <std::wstring const &> const & pbstrAbsPath);
public int SearchProjectsForRelativePath (uint grfRPS, string pszRelPath, string[] pbstrAbsPath);
abstract member SearchProjectsForRelativePath : uint32 * string * string[] -> int
Public Function SearchProjectsForRelativePath (grfRPS As UInteger, pszRelPath As String, pbstrAbsPath As String()) As Integer
参数
- grfRPS
- UInt32
中指定应如何解析搜索路径的标志。 有关详细信息,请参阅 __VSRELPATHSEARCHFLAGS。
- pszRelPath
- String
中文档的相对路径。 这可能只是文件名。
- pbstrAbsPath
- String[]
[out,retval]文档的完整路径名称。 这与 pszMkDocument 字符串值相同。
返回
如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。
注解
COM 签名
从 vsshell:
HRESULT IVsUIShellOpenDocument::SearchProjectsForRelativePath(
[in] VSRELPATHSEARCHFLAGS grfRPS,
[in] LPCOLESTR pszRelPath,
[out, retval] BSTR *pbstrAbsPath
);
此方法使用两个策略:
pszRelPathpszMkDocument如果在 RPS_MatchByProjectPath 项目项) 指定了标志,则枚举所有项目中的项目项,并将其与 (或项目路径进行比较。 该比较不区分大小写。 的值pszRelPath可以是不包含路径的文档名称,也可以是包含与 (或项目路径的有效右部分匹配的部分路径的文档名称pszMkDocument) 。 首先为活动项目指定优先级。 可以通过将参数设置为值,跳过此步骤grfRPSRPS_SkipEnumProjectItems 。请求所有全局注册 IVsRelativePathResolver 的对象解析路径。 此机制允许项目语言服务解析非项目项的相对路径 (例如,如果项目具有包含搜索路径) 的概念。 全局 IVsRelativePathResolver 对象应将服务 GUID (SID 注册) 为注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\RelativePathResolvers 项下的子项。
QueryService为接口的每个注册服务调用 IVsRelativePathResolver 。 可以通过将参数设置为,跳过此步骤grfRPSRPS_SkipGlobalResolvers 。
如果尝试的方法都不是匹配项,则函数将 * 设置 pbstrAbsPath 为 null ,并返回 S_FALSE 。