CreatePipe |
Declare Function Api_CreatePipe& Lib "kernel32" Alias "CreatePipe" (phReadPipe&, phWritePipe&, lpPipeAttributes As Any, ByVal nSize&) |
Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As Any, ByVal nSize As Long) As Long |
|
名前なしパイプを作成し、そのパイプの読み取り側と書き込み側の両方のハンドルを取得する。 |
|
パラメータ この構造体で、子プロセスが、返されたハンドルを継承できるかどうかを指定する。
このパラメータで NULL を指定すると、既定のセキュリティ記述子が使われ、ハンドルを継承できない。
lpPipeAttributes パラメータで NULL を指定すると、既定のセキュリティ記述子がパイプに適用される。 システムはこの値を使って、適切なバッファリングメカニズムを決定する。 このパラメータで 0 を指定すると、既定のバッファサイズが割り当てらる。
また、そのパイプに関係する 2 個のハンドルを作成するが、プロセスはそれ以降に ReadFile と WriteFile の各関数を呼び出す際に、その
ハンドルを使ってバッファの読み書きを行う。
るか、要求されたバイト数の読み取りが完了するか、エラーが発生すると、ReadFile 関数は制御を返する。 い。パイプ用のバッファがいっぱいになっている場合、ほかのプロセスやスレッドが ReadFile 関数を呼び出してバッファに空きを作るまで、
WriteFile 関数は制御を返しない。 プのハンドルを必要とする関数に対して、名前なしパイプのハンドルを渡すことができる。 |