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

# ハンドル オブジェクト（IHandle インターフェイス）

> ABBYY FineReader Engine API の ハンドル オブジェクト（IHandle インターフェイス）。メモリ内のリソース（ビットマップ画像またはメモリ ブロック）のハンドルへのアクセスを提供し、メモリ割り当てを管理してメモリ リークを防ぎます。アウトオブプロセスでは使用できません。

このオブジェクトは、メモリ内のリソースのハンドルにアクセスするためのものです。ビットマップ イメージまたはメモリ ブロックへのアクセスを提供する一部のメソッドから返されます。このオブジェクトはメモリの割り当てを管理し、これらのリソースの操作時にメモリ リークを防ぐことができます。

<Warning>
  このインターフェイスは自動化をサポートしていません。つまり、FineReader Engine がアウトオブプロセス サーバーとして読み込まれている場合、Linux および Windows では動作しません。
</Warning>

このオブジェクトは、次のような場合に使用します。

* FineReader Engine の外部でリソースを使用する場合

ハンドル プロパティを使用してリソースのハンドルを取得し、それを使って操作できます。この場合、ハンドル オブジェクトを解放すると、リソースも解放されます。あるいは、ハンドルを取得した後で ハンドル オブジェクトをそこから切り離すこともできます (Detach メソッドを使用) 。この場合は、リソースの解放をユーザー側で行う必要があります。

* リソースを FineReader Engine の別のメソッドに渡す場合

HandleAsInt64 プロパティを使用すると、リソースのハンドルを \_\_int64 として取得できます。後で、このプロパティの値を必要とする FineReader Engine のメソッドに渡すことができます。ハンドル オブジェクトを解放すると、リソースも解放されます。CloseHandle メソッドを呼び出して、リソースを手動で解放することもできます。

<div id="properties">
  ## プロパティ
</div>

| 名前            | 型                                                                                                                                                                                                                | 説明                                                                                                                                                                                            |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Application   | [Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface), [読み取り専用](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Engine オブジェクトを返します。                                                                                                                                                                           |
| Handle        | [HANDLE\*](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), 読み取り専用                                                                                           | リソースのハンドルを返します。このプロパティからハンドルを取得して、リソースを操作できます。                                                                                                                                                |
| HandleAsInt64 | [\_\_int64](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), 読み取り専用                                                                                          | リソースのハンドルを [\_\_int64](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties) として返します。このプロパティの戻り値は、FineReader Engine のメソッドに入力パラメーターとして渡すことができます。 |

<div id="methods">
  ## メソッド
</div>

| 名前                                                                                                              | 説明                          |
| --------------------------------------------------------------------------------------------------------------- | --------------------------- |
| [CloseHandle](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/handle/closehandle-method) | リソースを解放します。                 |
| [Detach](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/handle/detach-method)           | ハンドルを返し、オブジェクトとの関連付けを解除します。 |

<div id="output-parameter">
  ## 出力パラメーター
</div>

このオブジェクトは、次のメソッドの出力パラメーターです。

* [Image](/ja/fine-reader/engine/api-reference/image-related-objects/image) オブジェクトの [GetBitmap](/ja/fine-reader/engine/api-reference/image-related-objects/image/getbitmap-method) メソッド
* 複数のオブジェクトの [SaveToMemory](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method) メソッド (Windows)

<div id="samples">
  ## サンプル
</div>

<Accordion title="C# コード">
  ```csharp theme={null}
  FREngine.IEngine engine;
  FREngine.IFRDocument frdoc;
  // ドキュメントは作成済みで、画像が追加されているものとします
  // ドキュメントページのカラー画像プレーンのビットマップハンドルを取得します
  FREngine.IFRPage page = frDoc.Pages[0];
  FREngine.IImageDocument imageDoc = page.ImageDocument;
  FREngine.IImage image = imageDoc.ColorImage;
  FREngine.IHandle hBitmap = image.GetBitmap( null );
  // ビットマップを処理します
  System.Drawing.IImage preprocessedImage = System.Drawing.Image.FromHbitmap( hBitmap.Handle );
  ...
  Gdi32.DeleteObject( hBitmap );
  ```
</Accordion>

このオブジェクトは、次の Windows デモツールで使用されています。[Engine Predefined Processing Profiles](/ja/fine-reader/engine/guided-tour/samples#engine_predefined_processing_profiles)。

<div id="see-also">
  ## 関連項目
</div>

[Properties の扱い](/ja/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
