このダイアログボックスを表示するには、ブロックダイアグラムでライブラリ関数呼び出しノードを右クリックし、ショートカットメニューから構成を選択します。

このダイアログボックスを使用して、オブジェクトに関するライブラリ、関数、パラメータ、戻り値、および、共有ライブラリの呼び出しに関する呼び出し規約を指定します。このダイアログボックスでOKボタンをクリックすると、LabVIEWではブロックダイアグラムにあるオブジェクトが更新されます。オブジェクトには端子の正しい個数が表示されたり端子に正しいデータタイプが設定され、このダイアログボックスの設定内容を反映します。

ライブラリ関数呼び出しノードを使用して、テキストベースのプログラム言語で書かれたコードを呼び出せます。ActiveXオブジェクトを含む共有ライブラリを呼び出すには、「オートメーションオープン」関数をプロパティノードおよびインボークノードと共に使用してください。

このダイアログボックスには以下のコンポーネントが含まれています。

オプション 説明
関数 関数タブを使用して、ライブラリ関数呼び出しノードを構成します。

このタブには以下のコンポーネントがあります。

  • ライブラリ名またはパス

    呼び出すライブラリの名前またはパスを指定します。ライブラリの指定とパスの指定は同じことではなく、どちらを使用するかによってVIとアプリケーションを配布または移動したときの結果が異なります。共有ライブラリを名前で指定するかパスで指定するかは、共有ライブラリのディスク上の場所を指定するを参照して決定してください。

    リファレンスがプラットフォームに依存しないよう、ファイル拡張子にはワイルドカード (*) を使用します。C++コンパイラを使用する場合、ライブラリの関数の名前がマングル処理と呼ばれるプロセスによって変更され、プラットフォームに依存する形式になります。C++コンパイラでのマングル処理と呼ばれるプロセスにより、エクスポートされた関数名にプラットフォーム依存が発生することを避けるため、ヘッダファイルで、C++コンパイラ関数エクスポート指令でextern "C"{}を使用してください。

  • ダイアグラムでパスを指定

    ブロックダイアグラムでライブラリ名またはパスを入力するかどうかを決定します。このチェックボックスをオンにすると、パス入力パス出力がノードに対してコネクタペーンの入力および出力端子として表示されます。チェックボックスをオンにすると、ライブラリ名またはパス制御器で参照されるライブラリは使用されなくなります。 ヒント パス入力入力を使用して、以前参照されたライブラリをメモリからアンロードできます。空または無効パスをパス入力入力に配線して、ノードによって以前参照されたライブラリをメモリからアンロードします。

  • 関数名

    呼び出す関数の名前を指定します。 メモ ライブラリを参照すると、関数名制御器にそのライブラリで検出された関数名が表示されます。(macOS) 関数名制御器が空の場合、関数名のリストを表示するには、nmユーティリティをインストールする必要があります。nmユーティリティは、macOSの標準開発環境であるXcodeでインストールされます。XcodeはMac App Storeから無料でダウンロードできます。

  • スレッド

    ライブラリ関数呼び出しノードがVIによって現在実行されているスレッドからユーザインタフェーススレッドに切り替えるか、または現在実行中のスレッドを続行するかどうかを制御します。デフォルト値はUIスレッドで実行です。

    • UIスレッドで実行

      ライブラリ関数呼び出しノードの実行を、現在のスレッドではなくユーザインタフェーススレッドに切り替えるよう指定します。ダイアグラムでパスを指定によって動的にロードされたLabVIEWで作成された共有ライブラリのUIスレッドでノードを実行すると、LabVIEWがフリーズする可能性があります。

    • 任意のスレッドで実行

      ライブラリ関数呼び出しノードの実行がVIを実行中の現在のスレッドで続行することを指定します。複数のスレッドが関数を同時に呼び出せるようにする必要があります。 メモ LabVIEWで作成された共有ライブラリのすべての呼び出しでは、任意のスレッドで実行を指定する必要があります。LabVIEWで作成された共有ライブラリを使用してライブラリ関数呼び出しノードを構成して、UIスレッドで実行を構成すると、LabVIEWがフリーズして、コンピュータを再起動する必要がある場合があります。

  • 呼び出し規約

    関数の呼び出し規約を指定します。デフォルトはCです。

    • stdcall (WINAPI)

      オブジェクトが__stdcallの呼び出し規約を使用するかどうかを制御します。

    • C

      オブジェクトが__cdeclの呼び出し規約を使用するかどうかを制御します。

  • 関数プロトタイプ

    関数のCプロトタイプを表示します。これは読み取り専用表示です。

パラメータ

ライブラリ関数呼び出しノードの現在のパラメータをリストします。パラメータリストの右側にある以下のボタンを使用してパラメータリストを構成できます。return typeは削除できない必須パラメータです。

  • パラメータ

    ライブラリ関数呼び出しノードの現在のパラメータをリストします。パラメータリストの右側にある以下のボタンを使用してパラメータリストを構成できます。return typeは削除できない必須パラメータです。

    • パラメータを追加

      パラメータリストで選択したパラメータの下にパラメータを追加します。

    • 選択したパラメータを削除

      選択されたパラメータをパラメータリストから削除します。

    • 選択したパラメータを1つ上に移動

      関数プロトタイプのパラメータの順序を変更するパラメータリストで選択したパラメータを1つ上のレベルに移動します。

    • 選択したパラメータを1つ下に移動

      関数プロトタイプのパラメータの順序を変更するパラメータリストで選択されたパラメータを1つ下のレベルに移動します。

  • 現在のパラメータ

    選択されたパラメータの設定を構成できます。

    • 名前

      パラメータ名を指定します。

    • タイプ

      パラメータのデータタイプを指定します。

      • 数値―使用する数値データタイプを指定します。
        • データタイプ

          タイプ制御器で選択するデータの正確なタイプを指定します。

          メモ 符号付きポインタサイズ整数または符号なしポインタサイズ整数の数値データタイプを使用する場合、ライブラリ関数呼び出しノードは特定のオペレーティングシステムに適合し、実行後に適切なサイズのデータをライブラリ関数に返します。64ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを64ビット整数タイプに変換します。32ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを32ビット整数タイプに変換します。
        • 合格

          値と値へのポインタのどちらを渡すかを指定します。

      • 配列―使用する配列データタイプを指定します。
        • データタイプ

          タイプ制御器で選択するデータの正確なタイプを指定します。

          メモ 符号付きポインタサイズ整数または符号なしポインタサイズ整数の数値データタイプを使用する場合、ライブラリ関数呼び出しノードは特定のオペレーティングシステムに適合し、実行後に適切なサイズのデータをライブラリ関数に返します。64ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを64ビット整数タイプに変換します。32ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを32ビット整数タイプに変換します。
        • 外形寸法

          パラメータの次元を指定します。

        • 配列形式

          使用する配列形式を指定します。

        • 最小サイズ

          1D配列の最小サイズを示し、適切なサイズのメモリ量を割り当てます。数値を入力できます。パラメータリストで整数パラメータを構成する場合は、プルダウンメニューからパラメータを選択できます。デフォルトはなしです。このオプションは、配列データポインタにのみ使用できます。

          最小サイズよりも小さい文字列を渡す場合、LabVIEWは文字列サイズを最小サイズに拡張します。最小サイズよりも大きい文字列を渡す場合、文字列はより大きいサイズを保持します。最小サイズよりも小さい配列に渡す場合、LabVIEWは配列を最小サイズに拡張します。最小サイズよりも大きい配列に渡す場合、配列はより大きいサイズを保持します。
      • 文字列文字列データタイプを使用するように指定します。
        • 文字列形式―使用する文字列形式を指定します。
        • 最小サイズ

          1D配列の最小サイズを示し、適切なサイズのメモリ量を割り当てます。数値を入力できます。パラメータリストで整数パラメータを構成する場合は、プルダウンメニューからパラメータを選択できます。デフォルトはなしです。このオプションは、配列データポインタにのみ使用できます。

      • 波形―使用する波形データタイプを指定します。―データタイププルダウンメニューで、正確な数値データタイプを指定する必要があります。
        • データタイプ

          タイプ制御器で選択するデータの正確なタイプを指定します。

        • 外形寸法

          パラメータの次元を指定します。

          パラメータが単一のデジタル波形の場合は次元を0に指定します。パラメータがデジタル波形の「配列」の場合は次元を1に指定します。1次元よりも大きい波形の配列はサポートされていません。
      • デジタル波形―使用するデジタル波形データタイプを指定します。
        • 外形寸法

          パラメータの次元を指定します。

          パラメータが単一のデジタル波形の場合は次元を0に指定します。パラメータがデジタル波形の配列の場合は次元を1に指定します。1次元よりも大きいデジタル波形の配列はサポートされていません。
      • デジタルデータ―使用するデジタルデータのデータタイプを指定します。
        • 外形寸法

          パラメータの次元を指定します。

          パラメータがデジタルデータの配列の場合は次元を1に指定します。それ以外の場合は、次元を0に指定します。1次元よりも大きいデジタルデータの配列はサポートされていません。
      • ActiveXActiveXデータタイプを使用することを指定します。
        • データタイプ

          タイプ制御器で選択するデータの正確なタイプを指定します。

      • タイプに適応タイプに適応データタイプを使用することを指定します。
        • データ形式タイプ制御器で選択するデータ形式を指定します。
          • サイズ変更を許可

            ライブラリがパラメータのサイズ変更を許可するかどうかを指定します。場合によっては、サイズ変更を許可しないことでメモリで別のコピーの作成を回避できます。

            定数パラメータのサイズ変更が不可能なため、定数チェックボックスがオンの場合はLabVIEWはこのオプションを無効にします。
            メモ このオプションは、データ形式プルダウンメニューからデータへのインタフェースを選択した場合のみ使用できます。
      • インスタンスデータポインタ―使用するインスタンスデータポインタのデータタイプを指定します。インスタンスデータポインタは、ユーザ自身による判断で使用する可能性のあるポインタのサイズ割り当てを参照します。また、この割り当てはコールバックタブ上の各コールバック関数にも渡されます。
    • 定数

      パラメータが定数であるかを示します。

  • 関数プロトタイプ

    関数のCプロトタイプを表示します。これは読み取り専用表示です。

コールバック

コールバックタブでは、定義済みの時間で呼び出す関数を指定します。関数は、構成しているライブラリ関数呼び出しノードの特定のインスタンスに基づいて、DLLまたは共有ライブラリのデータの初期化、更新、クリーンアップができるようにします。各呼び出しは、関数が構成されているライブラリ関数呼び出しノードのインスタンスデータポインタに渡されます。

メモ コールバックタブで、ライブラリ関数にコールバック関数をパラメータとして渡すよう設定することはできません。ライブラリ関数呼び出しノードは、コールバック関数をパラメータとして必要とするライブラリ関数を直接呼び出せませんが、ラッパーライブラリを作成して呼び出しに実装することは可能です。

このタブには以下のコンポーネントがあります。

  • 予約

    各ノードおよび再入可能VIのデータスペースインスタンスに対して予約時に呼び出す関数を指定します。

  • 予約解除

    各ノードおよび再入可能VIのデータスペースインスタンスに対して予約解除時に呼び出す関数を指定します。予約解除コールバックを使用すると、情報の保存や解析、およびクリーンアップ操作の実行が可能です。

  • 中断

    DLLの呼び出しが進行中にVIを中断する場合に呼び出す関数を指定します。ライブラリ関数呼び出しノードがUIスレッドで実行するように設定されている場合、中断の処理は呼び出されません。中断のコールバックを使用すると、情報の保存や解析、およびクリーンアップ操作の実行が可能です。

  • プロシージャーのプロトタイプ

    ユーザ定義のプロシージャコールのCプロトタイプを表示します。各関数は、InstanceDataPtrパラメータを渡します。このパラメータで、ライブラリ関数呼び出しノードで呼び出す任意の関数に渡すことができる、ノードのインスタンスデータの初期化およびアクセスを行うことができます。プロトタイプは、ポインタ型で保持されるすべての型 (数値、または共有ライブラリやDLLによって割り当てられたストラクチャへの実際のポインタなど) に型変換できます。 これは読み取り専用表示です。

  • 関数プロトタイプ

    関数のCプロトタイプを表示します。これは読み取り専用表示です。

エラーチェック

エラーチェックタブで、ライブラリ関数呼び出しノードのエラーチェックレベルを指定します。

このタブには以下のコンポーネントがあります。

  • エラーチェックレベル

    次のオプションがあります。

    • 最大

      ライブラリ関数呼び出しノードのエラーチェックの最大レベルを有効にします。最大レベルでは、デフォルトレベルのエラーチェック機能のほかに、共有ライブラリまたはDLLで呼び出される関数が、指定された文字列または配列パラメータ用紙をに割り当てられた領域以上に書き込んだときに、ライブラリ関数呼び出しノードが警告を返します。 メモ エラーチェックタブで最大を選択すると、実行速度が低下し、ライブラリ関数呼び出しノードのメモリ使用量が増加します。したがって、ライブラリ関数呼び出しノードの構成をデバッグする場合のみ、最大オプションを選択することを推奨します。

    • デフォルト

      ライブラリ関数呼び出しノードに対してエラーチェックのデフォルトレベルを有効にします。エラーチェックのデフォルトレベルでは、呼び出された共有ライブラリまたはDLLが実行中に発生する未処理の例外から回復することをLabVIEWに許可します。また、このエラーチェックレベルでは、関数タブで選択した呼び出し規約が、共有ライブラリまたはDLLで呼び出している関数の呼び出し規約と一致しない場合、ライブラリ関数呼び出しノードがエラーを返します。

    • 無効

      ライブラリ関数呼び出しノードのエラーチェックを無効にします。ライブラリ関数呼び出しノードのエラーチェックを無効にすると、ライブラリ関数呼び出しノードの実行速度が向上します。ただし、エラーによっては、LabVIEWが予期せずシャットダウンする原因となります。エラーチェックを無効にする前に、ライブラリ関数呼び出しノードが参照する関数によって未処理の例外が発生しないことを確認してください。

  • 関数プロトタイプ

    関数のCプロトタイプを表示します。これは読み取り専用表示です。

関連情報

LabVIEWで共有ライブラリを呼び出す

ライブラリ関数呼び出しノードを構成する

共有ライブラリのデバッグおよび呼び出し

ライブラリ関数呼び出しノード

LabVIEW Manager Functions