> ## 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.

# OnAnalyzeRegion Method of the IZoomViewerEvents Interface

> OnAnalyzeRegion method of the IZoomViewerEvents Interface in ABBYY FineReader Engine Visual Components on Windows — This method is implemented on the client-side.

This method is implemented on the client-side. It is called by ABBYY FineReader Engine before the start of the block analysis process which has been invoked from [Zoom Viewer](/fine-reader/engine/visual-components-reference/zoomviewer) in one of the following ways:

* Analyze Layout in Area item of the context menu is selected
* [MI\_AnalyzeLayoutInBlock](/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_analyzelayoutinblock) command is called using the [DoCommand](/fine-reader/engine/visual-components-reference/supplementary-objects/commands/docommand-method) method of the IZoomViewer::Commands

It delivers to the client information about the region which is going to be analyzed. With the help of this method it is possible to cancel the operation.

## Syntax

### C++

```cpp theme={null}
HRESULT OnAnalyzeRegion(
  IRegion*      Region,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnAnalyzeRegion(
  IRegion   Region,
  out bool Cancel
);
```

### Visual Basic .NET

```vb theme={null}
Sub OnAnalyzeRegion( _
  Region As IRegion, _
  ByRef Cancel As Boolean _
)
```

## Parameters

Region

\[in] Contains the region which is going to be analyzed as the [Region](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region) object.

Cancel

\[out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, the region will not be analyzed.

## 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

[IZoomViewerEvents](/fine-reader/engine/visual-components-reference/izoomviewerevents)

[OnAnalyzePage](/fine-reader/engine/visual-components-reference/izoomviewerevents/onanalyzepage-method)

[OnAnalyzeTable](/fine-reader/engine/visual-components-reference/izoomviewerevents/onanalyzetable-method)
