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 |