ジョブ実行結果通知API
リモートホストにジョブの実行結果を通知するAPIです。
構文
int __stdcall hulsndrc( LPCSTR lpszJobName , LPCSTR lpszHostName ,
LPCSTR lpszMsg , SHORT nRc , INT nRetryCnt , INT nRetryTime );
パラメーター説明
- LPCSTR lpszJobName(IN)
-
通知ジョブ名を指定
60バイト以内の文字列で指定します。省略する場合は“NULL”を指定します。
- LPCSTR lpszHostName(IN)
-
接続先ホスト名を指定
68バイト以内の文字列で指定します。
- LPCSTR lpszMsg(IN)
-
送信メッセージを指定
128バイト以内の文字列で指定します。省略する場合は“NULL”を指定します。
- SHORT nRc(IN)
-
送信ステータスを指定
“0”~“9999”の範囲で指定します。
- INT nRetryCnt(IN)
-
相手ホストへのコネクションリトライ回数を指定
“0”~“99999”の範囲で指定します。
- INT nRetryTime(IN)
-
相手ホストへのコネクションリトライ間隔を指定(秒)
“0”~“99999”の範囲で指定します。
戻り値
正常時は「0」です。エラー時のステータスはhulsndrc.exeのエラーコードと同様です。
詳細は、以下を参照してください。
HULFT10 for Windows エラーコード・メッセージ : ジョブ実行結果通知コマンド(hulsndrc.exe)
使用例
Visual C++から使用する場合
#include <windows.h>
#include <stdio.h>
typedef INT (__stdcall *LPHULSNDRC)(
LPCSTR lpszJobName, LPCSTR lpszHostName,
LPCSTR lpszMsg, SHORT nRc, INT nRetryCnt,
INT nRetryTime);
int main()
{
CHAR szJobName[60+1];
CHAR szHostName[68+1];
CHAR szMsg[128+1];
SHORT nRC;
INT nRetryCnt;
INT nRetryTime;
HMODULE hHulDll;
HMODULE hApiDll;
LPHULSNDRC lpHulsndrc;
INT nStatus;
strcpy_s(szJobName, sizeof(szJobName), "Job_0001");
strcpy_s(szHostName, sizeof(szHostName), "host0001");
strcpy_s(szMsg, sizeof(szMsg), "Message");
nRC = 0;
nRetryCnt = 10;
nRetryTime = 1;
hApiDll = LoadLibraryEx("C:\\HULFT Family\\hulft10\\bin\\hulapi.dll", NULL,
LOAD_WITH_ALTERED_SEARCH_PATH);
if (hApiDll == NULL)
{
printf("Unable to load hulapi.dll."
"(Error code = %lu)\n", GetLastError());
FreeLibrary(hHulDll);
return 2;
}
lpHulsndrc = (LPHULSNDRC)GetProcAddress(hApiDll, "hulsndrc");
if (lpHulsndrc == NULL)
{
printf("Unable to retrieves the address of HULFT API."
"(Error code=%lu)\n", GetLastError());
FreeLibrary(hApiDll);
FreeLibrary(hHulDll);
return 3;
}
nStatus = lpHulsndrc(szJobName, szHostName, szMsg, nRC, nRetryCnt, nRetryTime);
if (nStatus == 0)
{
printf("Terminated normally.\n");
}
else
{
printf("Error occurred when calling HULFT API."
"(Returned value=%d)\n", nStatus);
}
FreeLibrary(hApiDll);
FreeLibrary(hHulDll);
return 0;
}