#include <nnsys/mcs.h>
struct NNSMcsStreamInfo
{
DWORD structBytes;
DWORD deviceType;
};
HANDLE NNS_McsOpenStreamEx(
USHORT channel,
DWORD flags,
NNSMcsStreamInfo* pStreamInfo);
| channel | ストリームを識別するための値。0〜0x3FFFの値を指定できます。0x4000〜0x7FFFはTWL-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_MCS_DEVICE_TYPE_TWL | IS-TWL-DEBUGGERハードウェア |
2009/02/10 デバイス名が適切でなかったのを修正(IS-TWL-EMULATOR → IS-TWL-DEBUGGERハードウェア)。
2008/06/20 NITRO-SystemをTWL-Systemに変更。
2008/02/08 デバイスの種類に IS-TWL-EMULATOR を追加。
2005/01/11 説明を追加。デバイスの種類からIS-CGB-EMULATORを削除し、ensataを追加。
2004/10/08 引数channelの解説を追加。
2004/07/20 初版