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
}
}
要求
要求 | 价值 |
---|---|
标头 | dbgmodel.h |