Freigeben über


IDebugComPlusSymbolProvider::UpdateSymbols

Aktualisiert die Debugsymbole im Arbeitsspeicher mit denen aus dem angegebenen Datenstrom.

Syntax

int UpdateSymbols (
    uint    ulAppDomainID,
    Guid    guidModule,
    IStream pUpdateStream
);

Parameter

ulAppDomainID
[in] Bezeichner der Anwendung Standard.

guidModule
[in] Eindeutiger Bezeichner des Moduls.

pUpdateStream
[in] Datenstrom, der die aktualisierten Debugsymbole enthält.

Beispiel

Das folgende Beispiel zeigt, wie Sie diese Methode für ein CDebugSymbolProvider -Objekt implementieren, das die IDebugComPlusSymbolProvider-Schnittstelle verfügbar macht.

HRESULT CDebugSymbolProvider::UpdateSymbols(
    ULONG32 ulAppDomainID,
    GUID guidModule,
    IStream* pUpdateStream
)
{
    ASSERT(!"Use UpdateSymbols2 on IDebugENCSymbolProvider2");
    return E_NOTIMPL;
}

HRESULT CDebugSymbolProvider::UpdateSymbols2(
    ULONG32 ulAppDomainID,
    GUID guidModule,
    IStream* pUpdateStream,
    LINEDELTA* pDeltaLines,
    ULONG cDeltaLines
)
{
    HRESULT hr = S_OK;
    CComPtr<CModule> pModule;
    Module_ID idModule(ulAppDomainID, guidModule);

    METHOD_ENTRY( CDebugSymbolProvider::UpdateSymbols );

    IfFailGo( GetModule( idModule, &pModule ) );
    IfFailGo( pModule->UpdateSymbols( pUpdateStream, pDeltaLines, cDeltaLines ) );

Error:

    METHOD_EXIT( CDebugSymbolProvider::UpdateSymbols, hr );

    return hr;
}

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.

Siehe auch