NNS_McsOpenStreamEx

構文

#include <nnsys/mcs.h>

struct NNSMcsStreamInfo
{
    DWORD   structBytes;
    DWORD   deviceType;
};

HANDLE NNS_McsOpenStreamEx(
           USHORT            channel,
           DWORD             flags,
           NNSMcsStreamInfo* pStreamInfo);

引数

channel ストリームを識別するための値。0〜0x3FFFの値を指定できます。0x4000〜0x7FFFはNITRO-Systemアプリケーション用、0x8000〜0xFFFFはmcsシステム用に予約しています。
flags オープン時に指定するフラグ(詳細は説明を参照)。
pStreamInfo オープンしたストリームに関する補足情報を格納する構造体へのポインタ。

返り値

オープンに成功した場合、ストリームのハンドルを返します。 失敗した場合、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の解説を参照してください。

pStreamInfoで指定したNNSMcsStreamInfo構造体にオープンしたストリームに関する補足情報がセットされます。 NNSMcsStreamInfo構造体メンバの詳細は次のとおりです。

structBytes 構造体のサイズを表します。関数を呼び出す前に、sizeof(NNSMcsStreamInfo)をセットするようにしてください。
deviceType デバイスのタイプを表す値がセットされます。

deviceTypeにセットされるデバイスのタイプは次のとおりです。

NNS_MCS_DEVICE_TYPE_UNKNOWN 未知のデバイス
NNS_MCS_DEVICE_TYPE_NITRO_DEBUGGER IS-NITRO-EMULATOR
NNS_MCS_DEVICE_TYPE_NITRO_UIC IS-NITRO-UIC
NNS_MCS_DEVICE_TYPE_ENSATA ensata

参照

NNS_McsOpenStream

履歴

2005/01/11 説明を追加。デバイスの種類からIS-CGB-EMULATORを削除し、ensataを追加。
2004/10/08 引数channelの解説を追加。
2004/07/20 初版