ジョブ実行結果通知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;
}