IDebugComPlusSymbolProvider::GetSymAttribute

Retrieves the debug symbols with the given parent attribute for the specified module.

HRESULT GetSymAttribute (
      ULONG32  ulAppDomainID,
      GUID     guidModule,
      _mdToken tokParent,
      LPOLESTR pstrName,
      ULONG32  cBuffer,
      ULONG32* pcBuffer,
      BYTE*    buffer
);
int GetSymAttribute (
      uint      ulAppDomainID,
      Guid      guidModule,
      int       tokParent,
      string    pstrName,
      uint      cBuffer,
      out uint  pcBuffer,
      out int[] buffer
);

Parameters

  • ulAppDomainID
    [in] Identifier of the application domain.

  • guidModule
    [in] Unique identifier of the module.

  • tokParent
    [in] Token for the parent attribute.

  • pstrName
    [in] Name of the module.

  • cBuffer
    [in] Number of bytes required for the output buffer.

  • pcBuffer
    [out] Length of the output buffer.

  • buffer
    [out] Array that contains the symbols.

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::GetSymAttribute(
    ULONG32 ulAppDomainID,
    GUID guidModule,
    _mdToken tokParent,
    __in_z LPOLESTR pstrName,
    ULONG32 cBuffer,
    ULONG32 *pcBuffer,
    BYTE buffer[])
{
    HRESULT hr = S_OK;
    CComPtr<CModule> pModule;
    Module_ID idModule(ulAppDomainID, guidModule);

    METHOD_ENTRY( CDebugSymbolProvider::GetSymAttribute );

    IfFailGo( GetModule( idModule, &pModule) );

    IfFailGo( pModule->GetSymAttribute( tokParent, pstrName, cBuffer, pcBuffer, buffer ) );

Error:

    METHOD_EXIT(CDebugSymbolProvider::GetSymAttribute, hr);

    return hr;
}

See Also

Concepts

IDebugComPlusSymbolProvider