標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
C ライブラリー | 両方 |
#include <dll.h>
void (*dllqueryfn(dllhandle *dllHandle, const char *funcName))();
ダイナミック・リンク・ライブラリー (DLL) 関数 (funcName) を指すポインター を取得します。この関数は、dllload() の直前の呼び出しが正常終了して 戻った dllHandle を入力用に使用します。funcName は、DLL からのエクスポート関数名 を表します。これは NULL 文字で終了する文字ストリングにしなければ なりません。
この関数は、SPC、MTF、および CSP 環境では 使用できません。
正常に終了した場合、dllqueryfn() は、DLL 内の目的の関数を呼び出すのに使用できる、funcName 関数を指すポインターを戻します。
正常に終了しなかった場合、dllqueryfn() は NULL を戻し、errno を設定します。
⁄* 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);
}
}