IDebugComPlusSymbolProvider::GetSymUnmanagedReader

Retrieves the symbol reader to be used by unmanaged code.

HRESULT GetSymUnmanagedReader(
   ULONG32    ulAppDomainID,
   GUID       guidModule,
   IUnknown** ppSymUnmanagedReader
);
int GetSymUnmanagedReader(
   uint       ulAppDomainID,
   Guid       guidModule,
   out object ppSymUnmanagedReader
);

Parameters

  • ulAppDomainID
    [in] Identifier of the application domain.

  • guidModule
    [in] Unique identifier of the module.

  • ppSymUnmanagedReader
    [out] Returns the object that represents the symbol reader.

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::GetSymUnmanagedReader(
    ULONG32 ulAppDomainID,
    GUID guidModule,
    IUnknown ** ppSymUnmanagedReader
)
{
    HRESULT hr = S_OK;
    CComPtr<CModule> pModule;
    Module_ID idModule(ulAppDomainID, guidModule);

    METHOD_ENTRY( CDebugSymbolProvider::GetSymUnmanagedReader );

    IfFailGo( GetModule( idModule, &pModule ) );
    IfFailGo( pModule->GetSymReader((ISymUnmanagedReader**) ppSymUnmanagedReader) );

Error:

    METHOD_EXIT( CDebugSymbolProvider::GetSymUnmanagedReader, hr );
    return hr;
}

See Also

Reference

IDebugComPlusSymbolProvider