# NNS_McsOpenStream

## 構文

      #include <nnsys/mcs.h>

      HANDLE NNS_McsOpenStream(
                 USHORT  channel,
                 DWORD   flags);

## 引数

channel | ストリームを識別するための値。0〜0x3FFFの値を指定できます。0x4000〜0x7FFFはTWL-Systemアプリケーション用、0x8000〜0xFFFFはmcsシステム用に予約しています。
flags | オープン時に指定するフラグ(詳細は説明を参照)。

## 返り値

オープンに成功した場合、ストリームのハンドルを返します。 失敗した場合、INVALID_HANDLE_VALUE を返します。エラーの詳細は GetLastError() で取得できます。

## 説明

Multiple Channel Stream 用ストリームをオープンします。ストリームは実際にはWin32システムにおけるメッセージタイプの名前付きパイプであり、返り値はこの名前付きパイプのハンドルとなります。関数`NNS_McsOpenStream`はメッセージタイプの名前付きパイプをオープンし、引数channelで指定されたストリームを識別する値をmcsサーバに登録します。

ストリームへの読み書きを行うには、Win32 API の`ReadFile(Ex)`, `WriteFile(Ex)`を用います。

引数flagには0か、次に示す値が指定できます。この値はWin32 APIの`CreateFile`の第6引数(dwFlagsAndAttributes)に渡されます。

FILE_FLAG_OVERLAPPED | 非同期で入出力を行います(オーバーラップドI/O)。詳細については Win32 API のCreateFileの解説を参照してください。

## 参照

`NNS_McsOpenStreamEx`

## 履歴

2008/06/20 NITRO-SystemをTWL-Systemに変更。
2005/01/11 説明を追加。
2004/10/08 引数channelの解説を追加。
2004/07/20 参照を追加。
2004/06/01 初版