IDebugHostSymbols::CreateModuleSignature 方法 (dbgmodel.h)
CreateModuleSignature 方法创建一个签名,该签名可用于按名称和版本(可选)匹配一组特定模块。 模块签名有三个组件:
名称:匹配模块的名称必须与签名中的名称完全不区分大小写
最低版本:如果指定,匹配的模块必须具有至少与此版本一样高的最低版本。 版本以“A.B.C.D”格式指定,每个后续部分都不像之前部分那么重要。 只有第一个段是必需的。
最大版本:如果指定,匹配的模块必须具有不高于此版本的最大版本。 版本以“A.B.C.D”格式指定,每个后续部分都不像之前部分那么重要。 只有第一个段是必需的。
语法
HRESULT CreateModuleSignature(
PCWSTR pwszModuleName,
PCWSTR pwszMinVersion,
PCWSTR pwszMaxVersion,
IDebugHostModuleSignature **ppModuleSignature
);
参数
pwszModuleName
模块必须具有的名称,以便匹配签名 (不区分大小写) 。
pwszMinVersion
模块必须具有的最低版本才能匹配签名。 如果此参数为 nullptr,则无需最低版本即可匹配签名。 版本以“A.B.C.D”格式指定为字符串,其中仅需要第一个组件,后续组件不太重要。
pwszMaxVersion
模块为了匹配签名而可以具有的最大版本。 如果此参数为 nullptr,则与签名匹配所需的版本号没有上限。 版本以“A.B.C.D”格式指定为字符串,其中仅需要第一个组件,后续组件不太重要。
ppModuleSignature
此处返回创建的模块签名对象。
返回值
此方法返回指示成功或失败的 HRESULT。
注解
示例代码
ComPtr<IDebugHost> spHost; /* get the host */
ComPtr<IDebugHostSymbols> spSym;
if (SUCCEEDED(spHost.As(&spSym)))
{
ComPtr<IDebugHostModuleSignature> spBasicSignature;
if (SUCCEEDED(spSym->CreateModuleSignature(
L"Windows.UI.Xaml.dll",
nullptr,
nullptr,
&spBasicSignature)))
{
// spBasicSignature is a signature which will match any module
// named "Windows.UI.Xaml.dll" regardless of version.
}
ComPtr<IDebugHostModuleSignature> spVersionedSignature;
if (SUCCEEDED(spSym->CreateModuleSignature(
L"Windows.UI.Xaml.dll",
"6.3",
"10.0.0.0",
&spVersionedSignature)))
{
// spVersionedSignature is a signature which will match a module named
// "Windows.UI.Xaml.dll" whose version is >= 6.3(.0.0) and whose
// version <= 10.0.0.0
}
}
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |