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