Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bestimmt, ob die angegebene Debugadresse ein Sequenzpunkt ist.
Syntax
Parameter
pAddress
[in] Debugadresse, die durch die IDebugAddress-Schnittstelle dargestellt wird.
Rückgabewert
Wenn die Debugadresse ein Sequenzpunkt ist, wird zurückgegeben S_OK; andernfalls wird zurückgegeben S_FALSE.
Beispiel
Das folgende Beispiel zeigt, wie Sie diese Methode für ein CDebugSymbolProvider -Objekt implementieren, das die IDebugComPlusSymbolProvider2-Schnittstelle verfügbar macht.
HRESULT CDebugSymbolProvider::IsAddressSequencePoint(
IDebugAddress* pAddress
)
{
HRESULT hr = S_OK;
CDEBUG_ADDRESS address;
CComPtr<CModule> pModule;
METHOD_ENTRY( CDebugSymbolProvider::LoadSymbol );
IfFalseGo( pAddress, E_INVALIDARG );
IfFailGo( pAddress->GetAddress( &address ) );
ASSERT(address.addr.dwKind == ADDRESS_KIND_METADATA_METHOD);
IfFalseGo( address.addr.dwKind == ADDRESS_KIND_METADATA_METHOD, S_FALSE );
IfFailGo( GetModule( address.GetModule(), &pModule) );
if (!pModule->IsSequencePoint( address.addr.addr.addrMethod.tokMethod,
address.addr.addr.addrMethod.dwVersion,
address.addr.addr.addrMethod.dwOffset ))
{
// S_FALSE indicates this is not a sequence point
hr = S_FALSE;
}
Error:
METHOD_EXIT( CDebugSymbolProvider::LoadSymbol, hr );
return hr;
}