Метод 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