共用方式為


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

另請參閱

IDebugHostSymbols 介面