> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OnWarning Method of the IProcessingEvents Interface

This method is implemented on the client-side. It is called by ABBYY FineReader Engine for the [InjectTextLayer](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/injecttextlayer-method) method of the [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface) object. It delivers to the client tips and warnings which occurred during processing. It can also process any system messages to help prevent the application from appearing unresponsive during long operations.

## Syntax

### C++

```cpp theme={null}
HRESULT OnWarning(
  int           PageIndex,
  BSTR          Warning,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnWarning(
  int      PageIndex,
  string   Warning,
  ref bool Cancel
);
```

### Visual Basic .NET

```vb theme={null}
Sub OnWarning( _
  PageIndex As Integer, _
  Warning As String, _
  ByRef Cancel As Boolean _
)
```

## Parameters

PageIndex

\[in] This parameter contains the index of the page to which the tip or warning refers. The message can refer not only to one page but to the entire document. In this case, the value of the parameter is -1.

Warning

\[in] Contains the tip or warning.

Cancel

\[in, out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, the processing function that reports the tip returns E\_ABORT.

## Return values

\[C++ only] If this method returns a value other than S\_OK, it indicates that an error occurred on the client-side, and in this case the value of the Cancel parameter is not taken into account.

## Remarks

The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).

## See also

[IProcessingEvents](/fine-reader/engine/api-reference/supplementary-objects-and-methods/iprocessingevents)

[IEngine::InjectTextLayer](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/injecttextlayer-method)
