簡易転送配信要求API

簡易転送配信要求を発行するAPIです。

構文

INT __stdcall utlsendit( LPCSTR lpszFileName , LPCSTR lpszHostName ,
              LPCSTR lpszRcvLocationPath , LPCSTR lpszRcvFileName ,
              TCHAR cMode , USHORT portnum ,SHORT nPriority , BOOL bSync );

パラメーター説明

LPCSTR lpszFileName(IN)

配信したいファイル名を指定

200バイト以内の文字列で指定します。

LPCSTR lpszHostName(IN)

配信先ホスト名を指定

68バイト以内の文字列で指定します。

LPCSTR lpszRcvLocationPath(IN)

集信ファイルの保存先を指定

200バイト以内の文字列で指定します。省略する場合は“NULL”を指定します。

LPCSTR lpszRcvFileName(IN)

集信ファイル名を指定

200バイト以内の文字列で指定します。省略する場合は“NULL”を指定します。

TCHAR cMode(IN)

転送タイプを指定

t

: テキスト転送

b

: バイナリ転送

USHORT portnum(IN)

集信側ホストのポート番号を指定

“1”~“65535”の範囲で指定します。省略する場合は“0”を指定します。

省略すると、“30000”が設定されます。

SHORT nPriority(IN)

転送優先度を指定

“1”~“256”の範囲で指定します。省略する場合は“0”を指定します。

BOOL bSync(IN)

同期転送フラグを指定

TRUE

: 同期転送する

FALSE

: 同期転送しない

戻り値

正常時は「0」です。エラー時のステータスはutlsendit.exeのエラーコードと同様です。

詳細は、以下を参照してください。

HULFT10 for Windows エラーコード・メッセージ : 配信と集信のコマンド異常終了時の終了ステータス

使用例

Visual C++から使用する場合

#include <windows.h>
#include <stdio.h>

typedef INT (__stdcall *LPUTLSENDIT)(
        LPCSTR lpszFileName, LPCSTR lpszHostName,
        LPCSTR lpszRcvLocationPath, LPCSTR lpszRcvFileName,
        TCHAR cMode, USHORT portnum, SHORT nPriority, BOOL bSync, INT nWait);

int main()
{
    CHAR szFileName[200+1];
    CHAR szHostName[68+1];
    CHAR szRcvLocationPath[200+1];
    CHAR szRcvFileName[200+1];
    CHAR cMode;
    USHORT portnum;
    SHORT nPriority;
    BOOL bSync;
    INT nWait;
    HMODULE hHulDll;
    HMODULE hApiDll;
    LPUTLSENDIT lpUtlsendit;
    INT nStatus;

    strcpy_s(szFileName, sizeof(szFileName), "C:\\HULFT Family\\sndfile.txt");
    strcpy_s(szHostName, sizeof(szHostName), "RCV_HOST");
    strcpy_s(szRcvLocationPath, sizeof(szRcvLocationPath), "");
    strcpy_s(szRcvFileName, sizeof(szRcvFileName), "");
    cMode = 'T';
    portnum = 30000;
    nPriority = 50;
    bSync = TRUE;
    nWait = 300;

    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;
    }
    lpUtlsendit = (LPUTLSENDIT)GetProcAddress(hApiDll, "utlsendit");
    if (lpUtlsendit == NULL)
    {
        printf("Unable to retrieves the address of HULFT API."
            "(Error code=%lu)\n", GetLastError());
        FreeLibrary(hApiDll);
        FreeLibrary(hHulDll);
        return 3;
    }
    nStatus = lpUtlsendit(szFileName, szHostName, szRcvLocationPath, szRcvFileName,
        cMode, portnum, nPriority, bSync, nWait);
    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;
}