ConnectNamedPipe |
Declare Function Api_ConnectNamedPipe& Lib "kernel32" Alias "ConnectNamedPipe" (ByVal hNamedPipe&, lpOverlapped As OVERLAPPED) |
Declare Function ConnectNamedPipe Lib "kernel32" Alias "ConnectNamedPipe" (ByVal hNamedPipe As Long, lpOverlapped As OVERLAPPED) As Long |
|
名前付きパイプのサーバープロセスにおいて、クライアントプロセスがパイプのインスタンスに接続してくるのを待機する。クライアントプロセスは、 関数または CallNamedPipe 関数によってパイプに接続してくる。 |
|
パラメータ
インスタンスを指定することもできる。ただし、DisconnectNamedPipe 関数によって接続が解除されていなければならない。 パイプハンドルの待機モードは、CreateNamedPipe 関数または SetNamedPipeHandleState 関数で設定する。ただし、非ブロッキングモ ードは、マイクロソフト LAN マネージャ 2.0 との互換性のためにサポートされているモードである。名前付きパイプで非同期入出力を行うため
に使うことは避ける。
は、接続操作が完了したと間違って通知することがある。FILE_FLAG_OVERLAPPED フラグを持つときは、NULL を指定しない。 は、lpOverlapped パラメータが指す 構造体に手動リセットイベントオブジェクトのハンドルを入れておかなければならない。手動リセットイベン
トオブジェクトは、 関数で作成できる。 は、この関数は、クライアント側が接続されるまで(あるいはエラーが発生するまで)制御を返さない。次の順に関数が呼び出されると、 ConnectNamedPipe 関数は 0 を返すが、クライアントサーバー間は接続されている。GetLastError 関数は
ERROR_PIPE_CONNECTED を返す。 ときは、この関数は非同期的に実行される。制御はすぐに返り、戻り値は 0 になる。GetLastError 関数は、ConnectNamedPipe 関数 を呼び出す前にクライアントプロセス側が接続されていたときは ERROR_PIPE_CONNECTED を、そうでないときは
ERROR_IO_PENDING を返す。
アント側が接続されるとシグナル状態になる。 ることができる。また、 関数を使って、ConnectNamedPipe 関数の実行結果を取得することができる。 |