IDebugBreakpointRequest2:: GetLocationType
Ottiene il tipo di posizione del punto di interruzione della richiesta di un punto di interruzione.
HRESULT GetLocationType(
BP_LOCATION_TYPE* pBPLocationType
);
int GetLocationType(
out enum_BP_LOCATION_TYPE pBPLocationType
);
Parametri
- pBPLocationType
[out] Restituisce un valore BP_LOCATION_TYPE dell'enumerazione che specifica la posizione della richiesta di un punto di interruzione.
Valore restituito
Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore. Restituisce E_FAIL se il campo di bpLocation nella struttura associata BP_REQUEST_INFORMATION non è valido.
Esempio
Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto semplice di CDebugBreakpointRequest che esponeIDebugBreakpointRequest2 l'interfaccia.
HRESULT CDebugBreakpointRequest::GetLocationType(BP_LOCATION_TYPE* pBPLocationType)
{
HRESULT hr;
if (pBPLocationType)
{
// Set default BP_LOCATION_TYPE.
*pBPLocationType = BPLT_NONE;
// Check if the BPREQI_BPLOCATION flag is set in BPREQI_FIELDS.
if (IsFlagSet(m_bpRequestInfo.dwFields, BPREQI_BPLOCATION))
{
// Get the new BP_LOCATION_TYPE.
*pBPLocationType = m_bpRequestInfo.bpLocation.bpLocationType;
hr = S_OK;
}
else
{
hr = E_FAIL;
}
}
else
{
hr = E_INVALIDARG;
}
return hr;
}