Windows APIにおけるCreatePipe関数の使い方
CreatePipe関数は、プロセス間でデータを転送するために利用できる、匿名パイプを作成するための、Windows APIの関数です。
関数のプロトタイプは以下の通りです。
BOOL CreatePipe(
PHANDLE hReadPipe,
PHANDLE hWritePipe,
LPSECURITY_ATTRIBUTES lpPipeAttributes,
DWORD nSize
);
パラメーター説明:
- ReadPipe: 受信読み取りパイプのハンドル変数のポインタを指す。
- パイプへの書き込みポインタ。
- NULL にすることができる、パイプのセキュリティ 属性を設定するための、SECURITY_ATTRIBUTES 構造体へのポインタ。lpPipeAttributes:
- サイズ: パイプの出力バッファサイズをバイト単位で指定します。0の場合は、Systemのデフォルトサイズが使用されます。
関数はBOOL型の戻り値を持ち、関数の成功または失敗を示します。
CreatePipe関数で匿名パイプを作成すると、返却されたハンドルを使用して、読み書き操作を実現できます。例えば、WriteFile関数を使用してパイプの書き込みハンドルにデータを書き込んでから、ReadFile関数を使用してパイプの読み込みハンドルからデータを読み取ります。
匿名パイプを使用することで、同じコンピュータ上の異なるプロセス間でプロセス間通信 (IPC) が可能となり、データの伝送や共有が実現されます。