Condividi tramite


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

Reference

IDebugComPlusSymbolProvider