簡易転送配信要求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のエラーコードと同様です。

詳細は、「エラーコード・メッセージ」を参照してください。

<使用例>

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;

    hHulDll = LoadLibrary("C:\\HULFT Family\\hulft8\\bin\\hulftrt.dll");
    if (hHulDll == NULL)
    {
        printf("Unable to load hulftrt.dll."
            "(Error code=%lu)\n", GetLastError());
        return 1;
    }
    hApiDll = LoadLibrary("C:\\HULFT Family\\hulft8\\bin\\hulapi.dll");
    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;
}