IVsQueryUndoUnit.ActionWouldBeAborted-Methode
Abfragen zum Rückgängigmachen Satz von jeder Member verknüpft, um zu bestimmen, ob eine Rückgängigaktion abgebrochen wird.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop.8.0 (in Microsoft.VisualStudio.TextManager.Interop.8.0.dll)
Syntax
'Declaration
Function ActionWouldBeAborted ( _
<OutAttribute> ByRef pbWouldBeAborted As Integer _
) As Integer
int ActionWouldBeAborted(
out int pbWouldBeAborted
)
int ActionWouldBeAborted(
[OutAttribute] int% pbWouldBeAborted
)
abstract ActionWouldBeAborted :
pbWouldBeAborted:int byref -> int
function ActionWouldBeAborted(
pbWouldBeAborted : int
) : int
Parameter
pbWouldBeAborted
Typ: Int32%[out] Wenn 1 (TRUE), Rückgängigaktion abgebrochen wird. 0 (wenn FALSCHE) Rückgängigaktion nicht abgebrochen werden.
Rückgabewert
Typ: Int32
Wenn die Methode erfolgreich ausgeführt, gibt sie S_OKzurück.Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
Verknüpft zum Rückgängigmachen Satz verfolgt die gleiche Rückgängigaktion in mehreren Puffern.
Diese Schnittstellen abfragen zum Rückgängigmachen Satz verknüpft, um den einzelnen Membern des Satzes zu ermöglichen, um zu bestimmen, ob eine Rückgängigaktion abgebrochen wird.
, bevor Sie versuchen, rufen Sie diese Methode, um verknüpfte Befehl Rückgängig aus, um verknüpfte zu vermeiden, führen Sie ein Rollback Rückgängigaktionen werden muss.
Hinweise zur Implementierung
Implementieren Sie diese Methode für das erste übergeordnete Element eines Joins zum Rückgängigmachen der Gruppe. In der Implementierung jedes fragen Sie zum Rückgängigmachen untergeordnetes Element ActionWouldBeAborted ab, und rufen IVsQueryUndoUnit wenn Kindergeld.
Beispiele
In diesem C++-Beispiel endet der untergeordneten Elemente ggf. Abfragen true zurückgibt:
STDMETHODIMP
CParentUndoUnit::ActionWouldBeAborted
(
BOOL *pbWouldBeAborted // [out] Would the action be aborted?
)
{
HRESULT hr = S_OK;
if ( pbWouldBeAborted == NULL )
{
hr = E_POINTER;
}
else
{
*pbWouldBeAborted = FALSE;
// Loop over child units for edit actions
CEditNode *pNode = m_pEditFirst;
while (pNode && SUCCEEDED(hr))
{
if (pNode->m_pEditUnit)
{
CComQIPtr<IVsQueryUndoUnit, &IID_IVsQueryUndoUnit> srpQueryUndoUnitForUserAbort(pNode->m_pEditUnit);
if ( srpQueryUndoUnitForUserAbort )
{
hr = srpQueryUndoUnitForUserAbort->ActionWouldBeAborted(pbWouldBeAborted);
// If any action would be aborted, stop looking
if ( SUCCEEDED(hr) && *pbWouldBeAborted == TRUE )
{
break;
}
}
}
pNode = pNode->m_pNext;
}
}
return hr;
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
IVsQueryUndoUnit Schnittstelle
Microsoft.VisualStudio.TextManager.Interop-Namespace
IVsLinkedUndoTransactionManager