Udostępnij przez


IDebugComPlusSymbolProvider::UnloadSymbols

Zwalnia symbole debugowania dla określonego modułu z pamięci.

Składnia

int UnloadSymbols(
    uint ulAppDomainID,
    Guid guidModule
);

Parametry

ulAppDomainID
[in] Identyfikator domeny aplikacji.

guidModule
[in] Unikatowy identyfikator modułu.

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość S_OK; w przeciwnym razie zwraca kod błędu.

Przykład

W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla obiektu CDebugSymbolProvider, który uwidacznia interfejs IDebugComPlusSymbolProvider.

HRESULT CDebugSymbolProvider::UnloadSymbols(
    ULONG32 ulAppDomainID,
    GUID guidModule
)
{
    HRESULT hr = S_OK;
    CComPtr<CModule> pmodule;
    Module_ID idModule(ulAppDomainID, guidModule);

    METHOD_ENTRY( CDebugSymbolProvider::UnloadSymbols );

#if DEBUG

    DebugVerifyModules();
#endif

    IfFailGo( GetModule( idModule, &pmodule ) );

#if DEBUG

    DebugVerifyModules();
#endif

    RemoveModule( pmodule );
    pmodule->Cleanup();

Error:
#if DEBUG

    DebugVerifyModules();
#endif

    METHOD_EXIT( CDebugSymbolProvider::UnloadSymbols, hr );

    return hr;
}

Zobacz też