3.1. Port

プリンターとの通信を行うためのクラスです。

  • プロパティ

    名称

    説明

    HoldPrintTimeout

    用紙保持制御のタイムアウト時間を設定します。

  • コンストラクタ

    名称

    説明

    Port

    Port オブジェクトを生成します。

  • メソッド

    名称

    説明

    ConnectAsync

    プリンターと通信するためのポートをオープンします。

    Close

    プリンターと通信するためのポートをクローズします。

    WriteAsync

    プリンターにデータを書き込みます。

    ReadAsync

    プリンターからデータを読み込みます。

    GetParsedStatusAsync

    プリンターのステータスを取得します。

    GetOnlineStatusAsync

    プリンターのオンライン状態を取得します。

    BeginCheckedBlockAsync

    印刷終了監視を開始します。

    EndCheckedBlockAsync

    印刷終了監視を終了します。

    GetFirmwareInformationAsync

    プリンターのモデル名とファームウェアバージョンを取得します。

3.1.1. HoldPrintTimeout

added in version 1.7.0

用紙保持制御のタイムアウト時間を示します。(単位:ミリ秒)

  • 宣言

    public int HoldPrintTimeout { get; set; }
    

3.1.2. Port

Port オブジェクトを生成します。

  • 宣言

    public Port()
    public Port(Int32 timeout)
    
  • 引数

    名称

    説明

    timeout

    タイムアウト引数付きメソッドの引数が省略された場合のデフォルトタイムアウト値
    引数省略時、デフォルトタイムアウト値は30000mSとなります。

    Int32

  • 戻り値

    説明

    Port オブジェクト

    Port

3.1.3. ConnectAsync

プリンターと通信するためのポートをオープンします。

  • 宣言

    public IAsyncAction ConnectAsync(string portName, string portSettings)
    public IAsyncAction ConnectAsync(ProductInformation info, string portSettings)
    
  • 引数

    名称

    説明

    portName

    プリンターと通信するためのポートを特定する文字列

    string

    info

    FindAllAsync メソッドによって列挙された ProductInformation オブジェクト

    ProductInformation

    portSettings

    プリンターとの接続設定情報

    string

  • 戻り値

    なし

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生したとき

    StarResultCode.ErrorInUse

    プリンターから接続拒否されたとき(他ホストが接続中など)

  1. portName 引数

インターフェイス

portName

説明

ライブラリバージョン

Bluetooth BT:
最初に見つかったスタープリンタと通信します。
スタープリンタを1台のみペアリングして使用してください。
"BT:"1.1.0+
BT:Device Name

Bluetoothデバイス名で指定する場合

"BT:Star Micronics"
BT:BD Address

Bluetoothデバイスアドレスで指定する場合

"BT:00:12:F3:1E:2B:72"
Ethernet/Wireless LAN TCP:IP Address

IPアドレスで指定する場合

"TCP:192.168.1.100"1.1.0+
  1. portSetting 引数

    portSettings文字列は、以下のフォーマットで指定してください。

    各モデルで適用すべき識別子 + セミコロン(';')区切りのオプション指定文字列

    各モデルで適用すべき識別子は下表のとおりです。

    モデル

    エミュレーション

    識別子

    mC-Print2 StarPRNT ""
    mC-Print3 StarPRNT ""
    mC-Label3 StarPRNT ""
    mPOP StarPRNT ""
    FVP10 StarLine ""
    TSP100IV StarPRNT ""
    TSP100IV SK StarPRNT ""
    TSP100IIIW StarGraphic ""
    TSP100IIIBI StarGraphic ""
    TSP100LAN StarGraphic ""
    TSP650II StarLine ""
    TSP650IISK StarLine ""
    TSP700II StarLine ""
    TSP800II StarLine ""
    SM-S210i StarPRNT "Portable"
    EscPosMobile"Portable;escpos" or "mini"
    SM-S220i StarPRNT "Portable"
    EscPosMobile"Portable;escpos" or "mini"
    SM-S230i StarPRNT "Portable"
    EscPosMobile"Portable;escpos" or "mini"
    SM-T300i/T300 StarPRNT "Portable"
    EscPosMobile"Portable;escpos" or "mini"
    SM-T400i StarPRNT "Portable"
    EscPosMobile"Portable;escpos" or "mini"
    BSC10 EscPos "escpos"
    SM-L200 StarPRNT "Portable"
    SM-L300 StarPRNT "Portable"
    SP700 StarDotImpact ""

    オプション指定文字列は下表のとおりです。

    インターフェイス

    オプション指定文字列

    説明

    ライブラリバージョン

    Bluetooth

    d[数値]

    データタイムアウト機能のタイムアウト値設定を行います。

    データタイムアウト機能をサポートするモデルで本オプションを指定しない場合は、データタイムアウト機能は有効で、タイムアウト値は3秒に設定されます。

    タイムアウト時間の指定方法は、以下のとおりです。

    1. [数値]に1から255を指定した場合:[数値]に指定した時間(単位:秒)

    2. [数値]に0を指定した場合:データタイムアウトを無効にする

    3. 上記以外の場合:3秒

    "d10"1.1.0+

    l[数値](Lの小文字)

    接続のリトライをおこないます。

    リトライ時間の指定方法は、以下のとおりです。

    1. 数値を指定しない場合("l"のみ): ConnectAsync メソッドで指定したtimeout時間

    2. [数値]に0から300000を指定した場合:[数値]に指定した時間(単位:ミリ秒)

    3. [数値]に300001以上の値を指定した場合:getPortメソッドで指定したtimeout時間

    4. 上記以外の場合:リトライしない設定となります

    "l10000"1.1.0+
    Ethernet/Wireless LAN

    l[数値](Lの小文字)

    対象のプリンターが他ホストから使用中の場合に接続をリトライします。

    リトライ時間の指定方法は、以下のとおりです。

    1. 数値を指定しない場合("l"のみ): ConnectAsync メソッドで指定したtimeout時間

    2. [数値]に0から300000を指定した場合:[数値]に指定した時間(単位:ミリ秒)

    3. [数値]に300001以上の値を指定した場合: ConnectAsync メソッドで指定したtimeout時間

    4. 上記以外の場合:リトライしない設定となります

    "l10000"1.7.0+
    • データタイムアウト機能

      データタイムアウト機能とは、印刷中に指定した時間プリンターに対してデータが送られなかった場合に、残りの印字データを無視する機能です。
      この機能により、データ送信中にBluetooth接続が切断された場合に、次回の印刷が不正な内容になることを防ぐことができます。
      このオプションをサポートするモデルは以下のとおりです。

      モデル

      ファームウェアバージョン

      mC-Print2

      1.0+

      mC-Print3

      1.0+

      mC-Label3

      1.0+

      mPOP

      1.0+

      FVP10

      2.0+

      TSP100IIIBI

      1.0+

      TSP650II

      2.0+

      TSP650IISK

      1.0+

      TSP700II

      5.0+

      TSP800II

      2.0+

    • portSettingsの引数指定例

    プリンター接続環境

    指定すべきportSettings

    TSP650IIをデフォルト設定で使用する

    ""

    mC-Print3をEthernetインターフェイスで、リトライ有効で使用する

    ";l10000"

    SM-L200をデフォルトで使用する

    "Portable"

    TSP650IIのBluetoothインターフェイスで、印刷中に10秒間データが送られなかった場合にデータキャンセル機能を動作させる

    ";d10"

  1. usingステートメント,ConnectAsyncメソッド実行後すぐに、usingステートメント,ConnectAsyncメソッドを実行すると失敗する場合があります。usingステートメント,ConnectAsyncメソッド実行後、1秒以上の時間をおいてからusingステートメント,ConnectAsyncメソッドを実行してください。

3.1.4. Close

プリンターと通信するためのポートをクローズします。

  • 宣言

    Public void Close()
    
  • 引数

    なし

  • 戻り値

    なし

3.1.5. WriteAsync

プリンターにデータを書き込みます。

  • 宣言

    public IAsyncOperation<uint> WriteAsync(IBuffer buffer);
    public IAsyncOperation<uint> WriteAsync(IBuffer buffer, Int32 timeout);
    
  • 引数

    名称

    説明

    buffer

    データが格納されたバッファー

    IBuffer

    timeout

    データの書き込みに関するタイムアウト値
    引数が省略された場合、Portコンストラクタにより設定されたデフォルトタイムアウト値となります。

    Int32

  • 戻り値

    説明

    書き込んだデータサイズ

    uint

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

3.1.6. ReadAsync

プリンターからデータを読み込みます。 プリンターからRaw byteを読み込む必要がある場合のみ、本メソッドをご使用ください。

  • 宣言

    public IAsyncOperation<IBuffer> ReadAsync();
    public IAsyncOperation<IBuffer> ReadAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    データの読み込みに関するタイムアウト値

    Int32

  • 戻り値

    説明

    受信ストリームから読み込んだIBufferオブジェクト

    IBuffer

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

3.1.7. GetParsedStatusAsync

プリンターのステータスを取得します。

  • 宣言

    public IAsyncOperation<Status> GetParsedStatusAsync();
    public IAsyncOperation<Status> GetParsedStatusAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    現在のプリンターステータス取得に関するタイムアウト値

    Int32

  • 戻り値

    説明

    現在のプリンターステータス
    取得できるステータスの種類は、 Status 構造体をご参照ください。

    Status

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

3.1.8. GetOnlineStatusAsync

プリンターのオンライン状態を取得します。

  • 宣言

    public IAsyncOperation<bool> GetOnlineStatusAsync();
    public IAsyncOperation<bool> GetOnlineStatusAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    プリンターのオンライン状態取得に関するタイムアウト値

    Int32

  • 戻り値

    説明

    プリンターのオンライン状態
    true ... オンライン
    false ... オフライン

    bool

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

3.1.9. BeginCheckedBlockAsync

EndCheckedBlockAsync メソッドとセットで使用し、印刷終了を監視します。

最後まで正しく印刷されたか確認したい場合、印刷データ送信の直前に本メソッドを、 印刷データ送信の直後に EndCheckedBlockAsync メソッドをそれぞれ実行します。

用紙保持制御を行う場合、本メソッドは用紙が抜き取られるまでブロックし、抜き取られると制御を返します。 HoldPrintTimeout で指定したタイムアウト時間内に用紙が抜き取られない場合、エラーとなります。

  • 宣言

    public IAsyncOperation<Status> BeginCheckedBlockAsync();
    public IAsyncOperation<Status> BeginCheckedBlockAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    印刷終了監視の開始に関するタイムアウト値

    Int32

  • 戻り値

    説明

    現在のプリンターステータス
    取得できるステータスの種類は、 Status 構造体をご参照ください。

    Status

  • エラーコード

    説明

    ライブラリバージョン

    StarResultCode.ErrorPaperPresent

    用紙保持制御のタイムアウトが発生した

    1.7.0+

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

    1.1.0+

  • 実装例

    BeginCheckedBlockAsync / EndCheckedBlockAsync による印刷終了監視処理の手順は、StarIOPort_PrintingFlow を参照ください。

3.1.10. EndCheckedBlockAsync

BeginCheckedBlockAsync メソッドとセットで使用し、印刷終了の監視を行います。

プリンターの状態を監視し、送信した印刷データの印刷が正常に完了する、印刷途中にプリンターの状態がオフラインになる、 EndCheckedBlockAsync で指定したタイムアウトが経過しエラーが発生すると、 制御を返します。印刷データ以外を送信した場合は、そのコマンドがプリンターで処理されると制御を返します。

  • 宣言

    public IAsyncOperation<Status> EndCheckedBlockAsync();
    public IAsyncOperation<Status> EndCheckedBlockAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    印刷終了監視の終了に関するタイムアウト値

    Int32

  • 戻り値

    説明

    現在のプリンターステータス
    取得できるステータスの種類は、 Status 構造体をご参照ください。

    Status

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した

  • 実装例

    BeginCheckedBlockAsync / EndCheckedBlockAsync による印刷終了監視処理の手順は、StarIOPort_PrintingFlow を参照ください。

3.1.11. GetFirmwareInformationAsync

プリンターのモデル名とファームウェアバージョンを取得します。

  • 宣言

    public IAsyncOperation<FirmwareInformation> GetFirmwareInformationAsync();
    public IAsyncOperation<FirmwareInformation> GetFirmwareInformationAsync(Int32 timeout);
    
  • 引数

    名称

    説明

    timeout

    ファームウェア情報取得に関するタイムアウト値

    Int32

  • 戻り値

    説明

    FirmwareInformation オブジェクト

    FirmwareInformation

  • エラーコード

    説明

    StarResultCode.ErrorFailed

    何らかのエラーが発生した