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
}
}
要求
要求 | 價值 |
---|---|
標頭 | dbgmodel.h |