簡易転送配信要求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;
}