fts_ftp_asyn_request_ex()−伝送要求の登録(非同期)−
形式
#include <winsock2.h> #include <apihead.h> BOOL fts_ftp_asyn_request_ex( SOCKET sock, const char *cardname, FTS_FTP_API_DATA_EX *data, unsigned long *trno, int get_return_flag )
機能
JP1/FTPに伝送要求を登録し,伝送の終了を待ちません。終了結果は,fts_ftp_event_ex()で取得します。伝送要求の内容は,伝送情報構造体で指定するか,登録済みの伝送カード名を指定することで定義できます。伝送の正常・異常は,fts_ftp_event_ex()で取得した伝送終了情報構造体のtrans_statusメンバで判断できます。
引数
sock
fts_ftp_open_ex()の戻り値を指定します。
cardname
登録済カード名称を指定します。この内容に従ってファイル伝送要求を登録します。
data
伝送情報構造体のアドレスを指定します。
cardnameにNULLが指定された場合は,この内容に従ってファイル伝送要求を登録します。
cardnameに登録済みの伝送カード名が指定された場合は,伝送カードの内容を登録します。
trno
伝送番号を格納するアドレスを指定します。
履歴情報やfts_ftp_event_ex()で取得した伝送終了情報内の伝送番号と一致します。
get_return_flag
FTS_GET_RETURNを指定した場合は,fts_ftp_event_ex()をコールすることで伝送終了情報を取得できます。
FTS_UNGET_RETURNを指定した場合は,取得できません。
注意事項
-
この関数は,fts_ftp_open_ex()をコールしたあとでコールしてください。
-
伝送終了情報を取得する場合は,第5引数にFTS_GET_RETURNを指定し,fts_ftp_event_ex()でコールしてください。この場合,fts_ftp_event_ex()は必ず発行してください。発行しない間は,伝送終了情報が関数を発行したプロセスまたはJP1/FTP内に残るため,システム資源(メモリ)を消費して解放できない場合があります。
-
終了情報を取得しない場合は,第5引数にFTS_UNGET_RETURNを指定してください。
戻り値
TRUE |
正常 |
FALSE |
異常 伝送要求の登録に失敗しました。 |
拡張エラー情報を取得するには,WSAGetLastError関数を呼び出します。拡張エラー情報の戻り値を次の表に示します。また,下記以外のエラーについては,MSDNのマニュアルを参照してください。
拡張エラー情報の戻り値 (16進数,10進数) |
説明 |
リトライの可否 |
---|---|---|
FTS_API_ERROR_NOTSTARTUP (0x2FFFFF00,805306112) |
WSAStartup()がコールされていません。 |
否 |
FTS_API_ERROR_DISCONNECT (0x2FFFFF05,805306117) |
JP1/File Transmission Server/FTP Clientサービスとのコネクションが切断されました。伝送要求を再度登録したい場合は,fts_ftp_close()を発行し,fts_ftp_open_ex()から処理をし直す必要があります。 |
否 |
FTS_API_ERROR_NOTREADCARD (0x2FFFFF06,805306118) |
指定したカード名称が参照できません。 カードが正しく登録されていない場合があります。 |
否 |
FTS_API_ERROR_BADFORMAT (0x2FFFFF07,805306119) |
引数に誤ったデータタイプのアドレスが指定されています。 |
否 |
FTS_API_ERROR_MAXPALTRANS (0x2FFFFF08,805306120) |
同時最大伝送数を超えています。 ほかの伝送が終了したあと,再度伝送要求を登録してください。 |
可 |
FTS_API_ERROR_MEMORY (0x2FFFFF0B,805306123) |
メモリを確保できません。 |
否 |
FTS_API_ERROR_NOTSOCK (0x2FFFFF0D,805306125) |
fts_ftp_open_ex()の戻り値を第1引数に指定していない場合があります。 |
否 |
FTS_API_ERROR_FTSMISS (0x2FFFFF0E,805306126) |
JP1/File Transmission Server/FTP Clientサービスで何かの異常が発生しました。 |
否 |
FTS_API_ERROR_LOGIC (0x2FFFFF10,805306128) |
API内で論理矛盾エラーが発生しました。 |
否 |