dllqueryfn() — ダイナミック・リンク・ライブラリー関数を指すポインターの取得

標準

標準/拡張機能 C/C++ 依存項目
C ライブラリー 両方  

形式

#include <dll.h>

void (*dllqueryfn(dllhandle *dllHandle, const char *funcName))();

機能説明

注: この関数は推奨できません。代わりに dlsym() を使用してください。

ダイナミック・リンク・ライブラリー (DLL) 関数 (funcName) を指すポインター を取得します。この関数は、dllload() の直前の呼び出しが正常終了して 戻った dllHandle を入力用に使用します。funcName は、DLL からのエクスポート関数名 を表します。これは NULL 文字で終了する文字ストリングにしなければ なりません。

この関数は、SPC、MTF、および CSP 環境では 使用できません。

戻り値

正常に終了した場合、dllqueryfn() は、DLL 内の目的の関数を呼び出すのに使用できる、funcName 関数を指すポインターを戻します。

正常に終了しなかった場合、dllqueryfn() は NULL を戻し、errno を設定します。

使用上の注意

  1. 詳細な診断情報は、_EDC_DLL_DIAG 環境変数、 および Language Environment® DLL 障害制御ブロック (CEEDLLF) チェーンを使って 入手できます。

CELEBDL2
⁄* CELEBDL2

   The following example shows how to use dllqueryfn() to obtain
   a pointer to a function, f1 that is in DLL load module stream.

 *⁄
#include <stdio.h>
#include <dll.h>

main() {
    dllhandle *handle;
    char *name="stream";
    int (*fptr1)();

    handle = dllload(name);
    if (handle == NULL) {
       perror("failed on dllload of stream DLL");
       exit(-1);
    }

    fptr1 = (int (*)()) dllqueryfn(handle,"f1");
    if (fptr1 == NULL) {
       perror("failed on retrieving f1 function");
       exit (-2);
    }
}

関連情報