Método IDebugHostSymbols::CreateModuleSignature (dbgmodel.h)
El método CreateModuleSignature crea una firma que se puede usar para que coincida con un conjunto de módulos específicos por nombre y, opcionalmente, por versión. Hay tres componentes en una firma de módulo:
Un nombre: un módulo coincidente debe tener un nombre que sea una coincidencia exacta que no distingue mayúsculas de minúsculas con el nombre de la firma.
Una versión mínima: si se especifica, un módulo coincidente debe tener una versión mínima que sea al menos tan alta como esta versión. Las versiones se especifican en formato "A.B.C.D" y cada parte posterior es menos importante que la anterior. Solo el primer segmento es obligatorio.
Una versión máxima: si se especifica, un módulo coincidente debe tener una versión máxima que no sea superior a esta versión. Las versiones se especifican en formato "A.B.C.D" y cada parte posterior es menos importante que la anterior. Solo el primer segmento es obligatorio.
Sintaxis
HRESULT CreateModuleSignature(
PCWSTR pwszModuleName,
PCWSTR pwszMinVersion,
PCWSTR pwszMaxVersion,
IDebugHostModuleSignature **ppModuleSignature
);
Parámetros
pwszModuleName
Nombre que debe tener un módulo para que coincida con la firma (sin distinción entre mayúsculas y minúsculas).
pwszMinVersion
Versión mínima que debe tener un módulo para que coincida con la firma. Si este argumento es nullptr, no se requiere ninguna versión mínima para que coincida con la firma. Las versiones se especifican como cadenas en formato "A.B.C.D" y solo se requiere el primer componente y los componentes posteriores son menos importantes.
pwszMaxVersion
La versión máxima que puede tener un módulo para que coincida con la firma. Si este argumento es nullptr, no hay ningún límite superior en el número de versión necesario para que coincida con la firma. Las versiones se especifican como cadenas en formato "A.B.C.D" y solo se requiere el primer componente y los componentes posteriores son menos importantes.
ppModuleSignature
El objeto de firma del módulo creado se devuelve aquí.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error.
Comentarios
Código de ejemplo
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
}
}
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |