Share via


IDebugComPlusSymbolProvider::UnloadSymbols

Unloads the debug symbols for the specified module from memory.

HRESULT UnloadSymbols(
   ULONG32 ulAppDomainID,
   GUID    guidModule
);
int UnloadSymbols(
   uint ulAppDomainID,
   Guid guidModule
);

Parameters

  • ulAppDomainID
    [in] Identifier of the application domain.

  • guidModule
    [in] Unique identifier of the module.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Example

The following example shows how to implement this method for a CDebugSymbolProvider object that exposes the IDebugComPlusSymbolProvider interface.

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;
}

See Also

Reference

IDebugComPlusSymbolProvider