IDebugComPlusSymbolProvider::GetEntryPoint
Retrieves the application entry point.
HRESULT GetEntryPoint(
ULONG32 ulAppDomainID,
GUID guidModule,
IDebugAddress** ppAddress
);
int GetEntryPoint(
uint ulAppDomainID,
Guid guidModule,
out IDebugAddress ppAddress
);
Parameters
ulAppDomainID
[in] Identifier for the application domain.guidModule
[in] Unique identifier for the module.ppAddress
[out] Returns the entry point represented by an IDebugAddress interface.
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::GetEntryPoint(
ULONG32 ulAppDomainID,
GUID guidModule,
IDebugAddress **ppAddress
)
{
HRESULT hr = S_OK;
CComPtr<CModule> pModule;
Module_ID idModule(ulAppDomainID, guidModule);
ASSERT(IsValidObjectPtr(this, CDebugSymbolProvider));
ASSERT(IsValidWritePtr(ppAddress, IDebugAddress *));
METHOD_ENTRY( CDebugSymbolProvider::GetEntryPoint );
IfFalseGo( ppAddress, E_INVALIDARG );
*ppAddress = NULL;
IfFailGo( GetModule( idModule, &pModule) );
IfFailGo( pModule->GetEntryPoint( ppAddress ) );
Error:
METHOD_EXIT( CDebugSymbolProvider::GetEntryPoint, hr );
return hr;
}