TNB Library
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
CInternetHandle クラス

INTERNETハンドル管理クラス [詳解]

#include <TnbInternetHandle.h>

公開メンバ関数

 CInternetHandle (const CInternetHandle &other)
 コピーコンストラクタ [詳解]
 
 CInternetHandle (HINTERNET h=NULL)
 コンストラクタ [詳解]
 
void Close (void)
 [設定] クローズ. [詳解]
 
CInternetHandle Connect (LPCTSTR lpszServerName, INTERNET_PORT tPort, LPCTSTR lpszUserName, LPCTSTR lpszPassword, DWORD dwService, DWORD dwFlags, DWORD_PTR dwContext=0)
 [接続] 指定名サーバ接続. [詳解]
 
bool CreateDirectory (LPCTSTR lpszDirName)
 [作成] 指定ディレクトリ作成. [詳解]
 
bool DeleteFile (LPCTSTR lpszFileName)
 [削除] 指定ファイル削除. [詳解]
 
CInternetHandle FindFirstFile (LPCTSTR lpszSearchFile, LPWIN32_FIND_DATA lpFindFileData, DWORD dwFlags, DWORD_PTR dwContext=0) const
 [検索] 検索開始. [詳解]
 
bool FindNextFile (LPVOID pFindData) const
 [検索] 検索続行. [詳解]
 
bool GetCurrentDirectory (LPTSTR _lpszCurrentDirectory, LPDWORD _lpdwLength) const
 [取得] カレントディレクトリ取得. [詳解]
 
bool GetFile (LPCTSTR lpszRemoteFile, LPCTSTR lpszLocalFile, BOOL fFailIfExists, DWORD dwFlagsAndAttributes, DWORD dwFlags, DWORD_PTR dwContext=0) const
 [取得] ローカルへ読込み. [詳解]
 
DWORD GetFileSize (LPDWORD _lpdwFileSizeHigh) const
 [取得] ファイルサイズ取得. [詳解]
 
CInternetHandle HttpOpenRequest (LPCTSTR lpszVerb, LPCTSTR lpszObjectName, LPCTSTR lpszVersion, LPCTSTR lpszReferrer, const CStrVector &acceptTypes, DWORD dwFlags, DWORD_PTR dwContext=0)
 [作成] HTTPリクエストの作成. [詳解]
 
CInternetHandle HttpOpenRequest (LPCTSTR lpszVerb, LPCTSTR lpszObjectName, LPCTSTR lpszVersion, LPCTSTR lpszReferrer, DWORD dwFlags, DWORD_PTR dwContext=0)
 [作成] HTTPリクエストの作成. [詳解]
 
bool HttpQueryInfo (DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex)
 [取得] HTTPリクエストに関連する情報の取得. [詳解]
 
bool HttpSendRequest (LPCTSTR lpszHeaders, DWORD dwHeadersLength, LPVOID lpOptional, DWORD dwOptionalLength)
 [送信] HTTPリクエストを送信. [詳解]
 
bool IsValid (void) const
 [確認] ハンドル有効確認 [詳解]
 
bool Open (LPCTSTR lpszAgent, DWORD dwAccessType, LPCTSTR lpszProxy=NULL, LPCTSTR lpszProxyBypass=NULL, DWORD dwFlags=0)
 [設定] 初期化. [詳解]
 
CInternetHandle OpenFile (LPCTSTR lpszFileName, DWORD dwAccess, DWORD dwFlags, DWORD_PTR dwContext=0)
 [取得] ファイルオープン. [詳解]
 
CInternetHandle OpenUrl (LPCTSTR lpszUrl, LPCTSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext=0)
 [接続] 指定URL接続. [詳解]
 
CInternetHandleoperator= (const CInternetHandle &other)
 [代入] コピーオペレータ [詳解]
 
bool PutFile (LPCTSTR lpszLocalFile, LPCTSTR lpszNewRemoteFile, DWORD dwFlags, DWORD_PTR dwContext)
 [送信] ローカルからファイル送信. [詳解]
 
bool QueryOption (DWORD dwOption, LPVOID _lpBuffer, LPDWORD _lpdwBufferLength) const
 [取得] オプション情報取得. [詳解]
 
bool ReadFile (LPVOID _lpBuffer, DWORD dwNumberOfBytesToRead, LPDWORD _lpdwNumberOfBytesRead) const
 [取得] ファイル読み込み. [詳解]
 
bool RemoveDirectory (LPCTSTR lpszDirName)
 [削除] ディレクトリ削除. [詳解]
 
bool RenameFile (LPCTSTR lpszOldFileName, LPCTSTR lpszNewFileName)
 [変更] 名前変更. [詳解]
 
bool SetCurrentDirectory (LPCTSTR lpszDirName)
 [設定] カレントディレクトリ設定. [詳解]
 
DWORD SetFilePointer (LONG lDistanceToMove, LONG *pReserved, DWORD dwMoveMethod, DWORD_PTR dwContext=0) const
 [設定] ファイルポインタ設定. [詳解]
 
bool SetOption (DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength)
 [設定] オプション情報設定 [詳解]
 
INTERNET_STATUS_CALLBACK SetStatusCallback (INTERNET_STATUS_CALLBACK pInetProc)
 [設定] コールバック設定. [詳解]
 
bool WriteFile (LPCVOID lpBuffer, DWORD dwNumberOfBytesToWrite, LPDWORD lpdwNumberOfBytesWritten)
 [出力] ファイル書き込み. [詳解]
 

静的公開メンバ関数

static bool AttemptConnect (void)
 [調査] インターネット利用可能調査. [詳解]
 
static bool CanonicalizeUrl (LPTSTR _lpszDstUrl, DWORD &_dwDstSize, LPCTSTR lpszUrl, DWORD dwFlags, LPCTSTR lpszRelativeUrl=NULL)
 [変換] URL変換. [詳解]
 

詳解

INTERNETハンドル管理クラス

HINTERNETにかかわるAPIをラップしただけのクラスです。

必要ファイル
TnbInternetHandle.h
日付
06/10/03 新規
19/01/25 メソッド追加.

TnbInternetHandle.h65 行目に定義があります。

構築子と解体子

◆ CInternetHandle() [1/2]

CInternetHandle ( HINTERNET  h = NULL)

コンストラクタ

引数
hハンドル

TnbInternetHandle.h75 行目に定義があります。

◆ CInternetHandle() [2/2]

CInternetHandle ( const CInternetHandle other)

コピーコンストラクタ

引数
otherコピー元

TnbInternetHandle.h83 行目に定義があります。

関数詳解

◆ AttemptConnect()

static bool AttemptConnect ( void  )
static

[調査] インターネット利用可能調査.

インターネットへの接続を試みることにより、現在の環境がインターネットが利用可能な環境かどうかを調査する。

戻り値
true接続可能。
false不可能。

TnbInternetHandle.h634 行目に定義があります。

◆ CanonicalizeUrl()

static bool CanonicalizeUrl ( LPTSTR  _lpszDstUrl,
DWORD &  _dwDstSize,
LPCTSTR  lpszUrl,
DWORD  dwFlags,
LPCTSTR  lpszRelativeUrl = NULL 
)
static

[変換] URL変換.

Flagsで指定された変換方法にしたがって変換します。

todo:
APIの動きが良くわからない。使用には注意。
引数
[out]_lpszDstUrl変換後のURL。
[in,out]_dwDstSize_lpszDstUrlのサイズ。関数の実行後、 実際に設定されたデータのサイズまたは必要なサイズが返される。。
[in]lpszUrl変換元のURL。
[in]dwFlags変換方法。
ICU_DECODE XXの形式のエスケープシーケンスを文字に変換する。
ICU_NO_ENCODE 特殊文字をエスケープシーケンスに変換しない。
ICU_NO_META メタシーケンス(".."など)をURLから削除しない。
ICU_ENCODE_SPACES_ONLY 空白のみエンコードする。
ICU_BROWSER_MODE # や ?などの後に続く文字をエンコード・デコードしない。また、?の後の連続する空白を削除しない。 このフラグが指定されていない場合、URLはエンコードされ、連続する空白は削除される。
※Flagsにどのフラグも指定されていない場合、関数は全ての特殊文字やメタシーケンスをエスケープシーケンスに変換する。
[in]lpszRelativeUrl組み合わせる相対指定のURL。省略可能。
戻り値
true成功
false失敗

TnbInternetHandle.h660 行目に定義があります。

◆ Close()

void Close ( void  )

[設定] クローズ.

保持しているハンドルをクローズします。

覚え書き
コピーなどしてハンドルを共有している場合、クローズしません。

TnbInternetHandle.h103 行目に定義があります。

◆ Connect()

CInternetHandle Connect ( LPCTSTR  lpszServerName,
INTERNET_PORT  tPort,
LPCTSTR  lpszUserName,
LPCTSTR  lpszPassword,
DWORD  dwService,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[接続] 指定名サーバ接続.

ServerNameで指定されたインターネット上のサーバに接続し、ハンドルを返す。

覚え書き
::InternetOpen() で返されたハンドルを使います。
引数
lpszServerName接続先のホスト名またはドット表記のIPアドレス。
tPort接続するTCP/IPポート。既定の値については下表を参照。また、0を指定した場合、デフォルトのポートが使用される。
INTERNET_DEFAULT_FTP_PORT FTP
INTERNET_DEFAULT_GOPHER_PORT Gopher
INTERNET_DEFAULT_HTTP_PORT HTTP
INTERNET_DEFAULT_HTTPS_PORT HTTPS
lpszUserName接続の際に使用されるユーザ名。HTTP以外の場合は、NULLを指定した場合デフォルト(FTPなら"anonymous")が使用される。
lpszPassword接続の際に使用されるパスワード。FTPでUserNameとPasswordが共にNULLの場合、Passwordはe-mailアドレスが使用される。
dwServiceアクセスするサービスのタイプ。
INTERNET_SERVICE_FTP FTP
INTERNET_SERVICE_GOPHER Gopher
INTERNET_SERVICE_HTTP HTTP
dwFlagsサービス固有のフラグ値。ServiceがINTERNET_SERVICE_FTPの場合、Flagsには以下のいずれかの値が指定可能。
INTERNET_CONNECT_FLAG_PASSIVE パッシブモードで接続する。
dwContextコールバック関数に渡されるアプリケーション定義の32bit値。
戻り値
インターネットハンドル。 IsValid() で合否判定する。

TnbInternetHandle.h162 行目に定義があります。

◆ CreateDirectory()

bool CreateDirectory ( LPCTSTR  lpszDirName)

[作成] 指定ディレクトリ作成.

FTPによって、DirNameで指定したディレクトリをリモートに作成する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszDirName作成するディレクトリ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h427 行目に定義があります。

◆ DeleteFile()

bool DeleteFile ( LPCTSTR  lpszFileName)

[削除] 指定ファイル削除.

FileNameで指定されたリモートのファイルを削除する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszFileName削除するファイルのファイル名。
戻り値
true成功。
false失敗。

TnbInternetHandle.h440 行目に定義があります。

◆ FindFirstFile()

CInternetHandle FindFirstFile ( LPCTSTR  lpszSearchFile,
LPWIN32_FIND_DATA  lpFindFileData,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
) const

[検索] 検索開始.

hFtpSessionで指定されたFTPセッションにおいて、ファイルおよびディレクトリエントリの検索を開始する。

覚え書き
FtpFindFirstFileは一つのFTPセッションにつき一度だけ実行可能である。
確立されているFTPセッションのハンドルを使用。。
引数
lpszSearchFile検索するディレクトリパス名またはファイル名。NULLを指定した場合、サーバ上のカレントディレクトリの最初のファイルが本関数で検索される。
lpFindFileData検索結果。
dwFlagsフラグ。 OpenUrl() を参照。
dwContextコールバック関数に渡すアプリケーション定義の32bit値。
戻り値
検索の続行に使用する列挙ハンドル。失敗すると、不正な状態のハンドルが返ります。

TnbInternetHandle.h456 行目に定義があります。

◆ FindNextFile()

bool FindNextFile ( LPVOID  pFindData) const

[検索] 検索続行.

::FtpFindFirstFile() または ::GopherFindFirstFile() で開始されたファイル検索を続行し、 次のファイルを取得する。

覚え書き
::FtpFindFirstFile() または ::GopherFindFirstFile() で返された検索ハンドルを使用。
引数
pFindData検索結果。FTPの場合WIN32_FIND_DATAで、Gopherの場合GOPHER_FIND_DATAである。
戻り値
true成功。
false失敗。ただし、ファイルの検索を完了した場合、エラーとしてERROR_NO_MORE_FILESが設定される

TnbInternetHandle.h399 行目に定義があります。

◆ GetCurrentDirectory()

bool GetCurrentDirectory ( LPTSTR  _lpszCurrentDirectory,
LPDWORD  _lpdwLength 
) const

[取得] カレントディレクトリ取得.

FTPセッション中でのカレントディレクトリを取得する。

覚え書き
FTPセッションのハンドルを使用。
引数
[out]_lpszCurrentDirectoryカレントディレクトリ。
[in,out]_lpdwLength_lpszCurrentDirectoryのサイズ。関数の実行後、CurDirに設定されたデータのサイズまたは必要なサイズが返される。
戻り値
true成功。
false失敗。

TnbInternetHandle.h470 行目に定義があります。

◆ GetFile()

bool GetFile ( LPCTSTR  lpszRemoteFile,
LPCTSTR  lpszLocalFile,
BOOL  fFailIfExists,
DWORD  dwFlagsAndAttributes,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
) const

[取得] ローカルへ読込み.

FTPセッションにおいて、ファイルをリモートからローカルへ転送する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszRemoteFile取得元のファイル名。
lpszLocalFile転送先のファイル名。
fFailIfExistsLocalFileNameで指定されたファイルが既にローカルに存在するときに、エラーにするか否かを表す真偽値。
dwFlagsAndAttributes転送結果のファイルに付与する属性。FILE_ATTRIBUTE_*が指定可能。詳細はCreateFileを参照。
dwFlagsファイルの取得の方法を指定するフラグ。後述の表を参照。
まず次のいずれかのフラグを指定する。
FTP_TRANSFER_TYPE_ASCII 表現形式をASCIIとして転送を行う。
FTP_TRANSFER_TYPE_BINARY 表現形式をIMAGEとして転送を行う。
FTP_TRANSFER_TYPE_UNKNOWN デフォルトの転送方法を使用する。(バイナリ転送)
INTERNET_FLAGS_TRANSFER_ASCII ASCIIファイルを転送する。
INTERNET_FLAGS_TRANSFER_BINARY バイナリファイルを転送する。

次に、以下のフラグの組み合わせを論理和で指定する。
INTERNET_FLAG_DONT_CACHE

INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_MAKE_PERSISTENT

INTERNET_FLAG_MUST_CACHE_REQUEST

INTERNET_FLAG_NEED_FILE
INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE
dwContextコールバック関数へ渡す32bit値。
戻り値
true成功。
false失敗。

TnbInternetHandle.h504 行目に定義があります。

◆ GetFileSize()

DWORD GetFileSize ( LPDWORD  _lpdwFileSizeHigh) const

[取得] ファイルサイズ取得.

FTPセッションにおいて、ファイルサイズを取得する。

覚え書き
FTPセッションのハンドルを使用。
引数
[out]_lpdwFileSizeHighサイズの上位LONG。
戻り値
サイズの下位LONG

TnbInternetHandle.h517 行目に定義があります。

◆ HttpOpenRequest() [1/2]

CInternetHandle HttpOpenRequest ( LPCTSTR  lpszVerb,
LPCTSTR  lpszObjectName,
LPCTSTR  lpszVersion,
LPCTSTR  lpszReferrer,
const CStrVector acceptTypes,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[作成] HTTPリクエストの作成.

引数
lpszVerb要求に使用する動詞。NULLの場合、GETとみなされる。
lpszObjectName動詞の対称となるオブジェクトの名前。
lpszVersionHTTPのバージョン。NULLの場合、HTTP/1.0が使用される。
lpszReferrerObjectNameで指定されたオブジェクトの位置(URL)。NULLを指定可能。
acceptTypesメディアのタイプを示す文字列の配列。
dwFlags要求に関するフラグ。
INTERNET_FLAG_RELOAD ローカルのキャッシュを無視し、常にサーバからデータを取得する。
INTERNET_FLAG_DONT_CACHE ローカル及びゲートウェイにデータをキャッシュしない。
INTERNET_FLAG_RAW_DATA 生のデータを返す(FTPの場合WIN32_FIND_DATA、Gopherの場合GOPHER_FIND_DATA)。このフラグが指定されていない場合、ディレクトリの一覧をHTMLフォーマットで返却する。(->)
INTERNET_FLAG_SECURE SSLやPCTを使用する。(HTTPのみ)
INTERNET_FLAG_EXISTING_CONNECT 可能な限り既存のサーバとの接続を再利用する。
dwContextコールバック関数に渡すアプリケーション定義の32bit値。
戻り値
インターネットハンドル。 IsValid() で合否判定する。

TnbInternetHandle.h226 行目に定義があります。

◆ HttpOpenRequest() [2/2]

CInternetHandle HttpOpenRequest ( LPCTSTR  lpszVerb,
LPCTSTR  lpszObjectName,
LPCTSTR  lpszVersion,
LPCTSTR  lpszReferrer,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[作成] HTTPリクエストの作成.

引数
lpszVerb要求に使用する動詞。NULLの場合、GETとみなされる。
lpszObjectName動詞の対称となるオブジェクトの名前。
lpszVersionHTTPのバージョン。NULLの場合、HTTP/1.0が使用される。
lpszReferrerObjectNameで指定されたオブジェクトの位置(URL)。NULLを指定可能。
dwFlags要求に関するフラグ。
INTERNET_FLAG_RELOAD ローカルのキャッシュを無視し、常にサーバからデータを取得する。
INTERNET_FLAG_DONT_CACHE ローカル及びゲートウェイにデータをキャッシュしない。
INTERNET_FLAG_RAW_DATA 生のデータを返す(FTPの場合WIN32_FIND_DATA、Gopherの場合GOPHER_FIND_DATA)。このフラグが指定されていない場合、ディレクトリの一覧をHTMLフォーマットで返却する。(->)
INTERNET_FLAG_SECURE SSLやPCTを使用する。(HTTPのみ)
INTERNET_FLAG_EXISTING_CONNECT 可能な限り既存のサーバとの接続を再利用する。
dwContextコールバック関数に渡すアプリケーション定義の32bit値。
戻り値
インターネットハンドル。 IsValid() で合否判定する。

TnbInternetHandle.h204 行目に定義があります。

◆ HttpQueryInfo()

bool HttpQueryInfo ( DWORD  dwInfoLevel,
LPVOID  lpBuffer,
LPDWORD  lpdwBufferLength,
LPDWORD  lpdwIndex 
)

[取得] HTTPリクエストに関連する情報の取得.

引数
dwInfoLevel取得する属性や、要求の変更などのレベルを表すフラグ。
lpBuffer取得結果。
lpdwBufferLengthBufのサイズ。関数の実行後実際のサイズまたは必要なサイズが返される。
lpdwIndex同一のヘッダが存在する場合にどのヘッダかを識別するためのインデックス。
戻り値
true成功。
false失敗。

TnbInternetHandle.h260 行目に定義があります。

◆ HttpSendRequest()

bool HttpSendRequest ( LPCTSTR  lpszHeaders,
DWORD  dwHeadersLength,
LPVOID  lpOptional,
DWORD  dwOptionalLength 
)

[送信] HTTPリクエストを送信.

引数
lpszHeaders追加のヘッダ。NULLを指定可能。
dwHeadersLengthHeadersのサイズ。-1を指定した場合、自動的に計算される。
lpOptional要求ヘッダ後に直接送信されるオプションのデータ。通常POSTやPUTで使用される。NULLを指定可能。
dwOptionalLengthOptionalのサイズ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h246 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const

[確認] ハンドル有効確認

戻り値
ture有効。
false無効(開いていないか、失敗したか)。

TnbInternetHandle.h113 行目に定義があります。

◆ Open()

bool Open ( LPCTSTR  lpszAgent,
DWORD  dwAccessType,
LPCTSTR  lpszProxy = NULL,
LPCTSTR  lpszProxyBypass = NULL,
DWORD  dwFlags = 0 
)

[設定] 初期化.

アプリケーションが使用するWININETの初期化を行い、WININET呼び出し用のハンドルを作成する。

引数
lpszAgentHTTPによりインターネットにアクセスする際のエージェント名。
dwAccessTypeアクセス方法を指定するフラグ。
INTERNET_OPEN_TYPE_DIRECT 全てのホスト名をローカルに解決する。
INTERNET_OPEN_TYPE_PROXY プロクシバイパスリストが与えられていない場合やプロクシを通さずに名前解決が行われる場合を除いて、要求はプロクシに渡す。要求がプロクシに渡されないケースの場合は、本関数はINTERNET_OPEN_TYPE_DIRECTとして動作する。
INTERNET_OPEN_TYPE_PRECONFIG レジストリに保持されている設定を利用する。
lpszProxyプロクシによるアクセスが指定されている場合に、プロクシサーバ名を指定する。NULLの場合、レジストリからプロクシ情報が取得される。プロトコルごとに異なるプロクシを指定したい場合などの指定についてはSDKのドキュメントを参照。
lpszProxyBypass(オプションの)ローカルでの既知のホスト名またはIPアドレスのリスト。これらのホストに対する要求はプロクシを通さずに行われる。このリストにはワイルドカードを含めることができる。
dwFlagsWin32インターネット関数の振る舞いを指定するフラグ。後述の表を参照。
INTERNET_FLAG_OFFLINE キャッシュからのみデータ取得が行われる。
INTERNET_FLAG_ASYNC 非同期で処理が行われる。
戻り値
true成功。本クラスのハンドルが有効になる。
false失敗。本クラスのハンドルは無効になる。

TnbInternetHandle.h134 行目に定義があります。

◆ OpenFile()

CInternetHandle OpenFile ( LPCTSTR  lpszFileName,
DWORD  dwAccess,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[取得] ファイルオープン.

FTPセッションでFileNameで指定されたファイルをオープンする。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszFileNameオープンするファイルの名前。
dwAccessオープン時のアクセスの種別。後述の表を参照。
GENERIC_READ 読み取りアクセスで開く。
GENERIC_WRITE 書き込みアクセスで開く。
dwFlagsファイル転送の種別を表すフラグ。後述の表を参照。
まず以下のいずれかを指定する。
FTP_TRANSFER_TYPE_ASCII ASCII転送。
FTP_TRANSFER_TYPE_BINARY バイナリ転送。
FTP_TRANSFER_TYPE_UNKNOWN デフォルトではFTP_TRANSFER_TYPE_BINARY。

次に、以下の任意の組み合わせを論理和によって指定する。
INTERNET_FLAG_HYPERLINK 再読み込みすべきかどうかの判断時に有効期限・最終更新時刻がサーバから返されない場合強制的に再読み込みする。
INTERNET_FLAG_MAKE_PERSISTENT キャッシュに永続的要素として追加する。これにより、通常のキャッシュのクリーンアップ、整合性チェック、ごみは行きなどの際にこの要素が削除されない。
INTERNET_FLAG_RELOAD 要求したファイル、オブジェクト、ディレクトリリストをキャッシュから取得するのでなく、強制的にサーバから再読み込みする。
INTERNET_FLAG_RESYNCHRONIZE FTPリソースをサーバから再読み込みする。
INTERNET_FLAG_NEED_FILE ファイルがキャッシュできない場合に一時ファイルを作成する。
dwContextコールバックに渡すアプリケーション定義の値。
戻り値
インターネットハンドル。 IsValid() で合否判定する。

TnbInternetHandle.h556 行目に定義があります。

◆ OpenUrl()

CInternetHandle OpenUrl ( LPCTSTR  lpszUrl,
LPCTSTR  lpszHeaders,
DWORD  dwHeadersLength,
DWORD  dwFlags,
DWORD_PTR  dwContext = 0 
)

[接続] 指定URL接続.

指定されたURLをオープンし、接続を確立し、データ読み込みの準備を行い、ハンドルを返す。

覚え書き
::InternetOpen() で返されたハンドルを使います。
引数
lpszUrlオープンするURL。
lpszHeadersHTTPサーバに送るヘッダ。NULLを指定可能。
dwHeadersLengthHeadersの文字数。-1を指定した場合、自動的に計算される。
dwFlagsオープンの種別を指定するビットマスク値。後述の表を参照。
INTERNET_FLAG_RELOAD ローカルのキャッシュを無視し、常にサーバからデータを取得する。
INTERNET_FLAG_DONT_CACHE ローカル及びゲートウェイにデータをキャッシュしない。
INTERNET_FLAG_RAW_DATA 生のデータを返す(FTPの場合WIN32_FIND_DATA、Gopherの場合GOPHER_FIND_DATA)。このフラグが指定されていない場合、ディレクトリの一覧をHTMLフォーマットで返却する。(->)
INTERNET_FLAG_SECURE SSLやPCTを使用する。(HTTPのみ)
INTERNET_FLAG_EXISTING_CONNECT 可能な限り既存のサーバとの接続を再利用する。
dwContextコールバック関数に渡すアプリケーション定義の32bit値。
戻り値
インターネットハンドル。 IsValid() で合否判定する。

TnbInternetHandle.h184 行目に定義があります。

◆ operator=()

CInternetHandle & operator= ( const CInternetHandle other)

[代入] コピーオペレータ

引数
otherコピー元
戻り値
自分の参照

TnbInternetHandle.h92 行目に定義があります。

◆ PutFile()

bool PutFile ( LPCTSTR  lpszLocalFile,
LPCTSTR  lpszNewRemoteFile,
DWORD  dwFlags,
DWORD_PTR  dwContext 
)

[送信] ローカルからファイル送信.

FTPセッションで、LocalFileNameで指定されたローカルのファイルをリモートへ転送する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszLocalFile転送元のファイル名。
lpszNewRemoteFile転送先のファイル名。
dwFlags転送方法を指定するフラグ。後述の表を参照。
以下のフラグの組み合わせである。
INTERNET_FLAG_DONT_CACHE

INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_MAKE_PERSISTENT

INTERNET_FLAG_MUST_CACHE_REQUEST

INTERNET_FLAG_NEED_FILE
INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE
INTERNET_FLAG_TRANSFER_ASCII

INTERNET_FLAG_TRANSFER_BINARY
dwContextアプリケーション定義のコールバック関数に渡す32bit値。
戻り値
true成功。
false失敗。

TnbInternetHandle.h583 行目に定義があります。

◆ QueryOption()

bool QueryOption ( DWORD  dwOption,
LPVOID  _lpBuffer,
LPDWORD  _lpdwBufferLength 
) const

[取得] オプション情報取得.

指定されたハンドルに対するインターネットのオプション情報を取得する。

覚え書き
情報の取得元のインターネットのハンドル。
引数
[in]dwOptionどの情報を取得するかを識別するフラグ。
INTERNET_OPTION_CALLBACK hInternetに関連付けられているコールバック関数へのポインタが返される。
INTERNET_OPTION_CONNECT_TIMEOUT 接続要求のタイムアウト時間(ミリ秒)が返される。
INTERNET_OPTION_CONNECT_RETRIES 接続の最大リトライ回数。
INTERNET_OPTION_CONNECT_BACKOFF リトライまでに一定時間待機する際の待機時間。現バージョンでは未実装。
INTERNET_OPTION_CONTROL_SEND_TIMEOUT 非データの送信要求のタイムアウト時間(ミリ秒)。現バージョンではFTPのみ有効。
INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT 非データの受信要求のタイムアウト時間(ミリ秒)。現バージョンではFTPのみ有効。
INTERNET_OPTION_DATA_SEND_TIMEOUT データの送信要求のタイムアウト時間(ミリ秒)。
INTERNET_OPTION_DATA_RECEIVE_TIMEOUT データの受信要求のタイムアウト時間(ミリ秒)。
INTERNET_OPTION_HANDLE_TYPE ハンドルのタイプ。
INTERNET_OPTION_CONTEXT_VALUE hInternetに関連付けられているContextの値。
INTERNET_OPTION_READ_BUFFER_SIZE 読み込み用バッファサイズ。
INTERNET_OPTION_WRITE_BUFFER_SIZE 書き込み用バッファサイズ。
INTERNET_OPTION_ASYNC_PRIORITY hInternetによる非同期ダウンロードにおける優先度。
INTERNET_OPTION_PARENT_HANDLE 親ハンドル。
INTERNET_OPTION_KEEP_CONNECTION 永続的接続を使用するかどうかを表すフラグ。
INTERNET_OPTION_USERNAME ユーザ名。
INTERNET_OPTION_PASSWORD パスワード。
INTERNET_OPTION_REQUEST_FLAGS 現在のダウンロードに関する状態フラグ。
INTERNET_OPTION_EXTENDED_ERROR WinSockのエラーコード。
INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT SSL/PCT用の証明書を表すINTERNET_CERTIFICATE_INFO構造体のデータ。
INTERNET_OPTION_SECURITY_CERTIFICATE SSL/PCT用の証明書を表す文字列。
INTERNET_OPTION_CACHE_STREAM_HANDLE 暗号用鍵のサイズ。
INTERNET_OPTION_SECURITY_FALGS セキュリティに関するビットマスク値。
INTERNET_OPTION_DATAFILE_NAME ダウンロード時のファイル名。
INTERNET_OPTION_URL ダウンロード時のリソースのURL名。
INTERNET_OPTION_REFRESH レジストリから情報を再読み込み可能かどうか。
INTERNET_OPTION_PROXY プロクシ情報を表すINTERNET_PROXY_INFO構造体のデータ。
INTERNET_OPTION_VERSION WININETのバージョンを表すINTERNET_VERSION_INFO構造体のデータ。
INTERNET_OPTION_USER_AGENT エージェント名。
[out]_lpBuffer取得結果の情報を格納するバッファ。
[in,out]_lpdwBufferLength_lpBufferのサイズ。関数の実行後、設定されたデータのサイズまたは必要なサイズが返される。
戻り値
true成功。
false失敗。

TnbInternetHandle.h304 行目に定義があります。

◆ ReadFile()

bool ReadFile ( LPVOID  _lpBuffer,
DWORD  dwNumberOfBytesToRead,
LPDWORD  _lpdwNumberOfBytesRead 
) const

[取得] ファイル読み込み.

指定されたインターネット上のファイルからデータを読み込み、Bufに返す。

覚え書き
::InternetOpenUrl()、::FtpOpenFile()、::GopherOpenFile()、::HttpOpenRequest() のいずれかで返されたハンドルを使用。
読み込みがファイルの終端まで達した場合、戻り値は true が返され、lpdwNumberOfBytesRead にはゼロが設定される。
引数
[out]_lpBuffer読み込み結果のデータ。
[in]dwNumberOfBytesToReadlpBufferのサイズ。
[out]_lpdwNumberOfBytesRead実際に読み込まれたデータのサイズ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h320 行目に定義があります。

◆ RemoveDirectory()

bool RemoveDirectory ( LPCTSTR  lpszDirName)

[削除] ディレクトリ削除.

指定されたFTPセッションで、DirNameで指定されたリモートのディレクトリを削除する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszDirName削除するディレクトリ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h596 行目に定義があります。

◆ RenameFile()

bool RenameFile ( LPCTSTR  lpszOldFileName,
LPCTSTR  lpszNewFileName 
)

[変更] 名前変更.

指定したFTPセッションにおいて、OldFileNameで指定されたリモートのファイルの名前をNewFileNameで指定された名前に変更する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszOldFileName元のファイル名。
lpszNewFileName新規ファイル名。
戻り値
true成功。
false失敗。

TnbInternetHandle.h610 行目に定義があります。

◆ SetCurrentDirectory()

bool SetCurrentDirectory ( LPCTSTR  lpszDirName)

[設定] カレントディレクトリ設定.

指定したFTPセッションで、リモートのカレントディレクトリをDirNameで指定したディレクトリに変更する。

覚え書き
FTPセッションのハンドルを使用。
引数
lpszDirName変更先のディレクトリ名。
戻り値
true成功。
false失敗。

TnbInternetHandle.h623 行目に定義があります。

◆ SetFilePointer()

DWORD SetFilePointer ( LONG  lDistanceToMove,
LONG *  pReserved,
DWORD  dwMoveMethod,
DWORD_PTR  dwContext = 0 
) const

[設定] ファイルポインタ設定.

InternetReadFileでのファイル読み込み位置を設定する。

覚え書き
::InternetOpenUrl()、::HttpOpenRequest(GETまたはHEADを使用しHttpSendRequestに渡したとき)で返されたハンドルを使用。
::FtpOpenFile()、::GopherOpenFile() のハンドルでは、本メソッドは失敗します。
引数
lDistanceToMove移動量。
pReservedダミー。 NULL を指定。
dwMoveMethod移動方法を表す真偽値。
FILE_BEGIN Distanceはファイルの先頭からの位置を表す。
FILE_CURRENT Distanceは現在のファイル位置からの相対位置を表す。
FILE_END Distanceはファイルの終端からの位置を表す。現在のファイルサイズが不明の場合、このフラグは失敗する。
dwContext0でなければならない。
戻り値
INVALID_SET_FILE_POINTER失敗。
それ以外成功(値は移動後のファイルポインタ)。

TnbInternetHandle.h340 行目に定義があります。

◆ SetOption()

bool SetOption ( DWORD  dwOption,
LPVOID  lpBuffer,
DWORD  dwBufferLength 
)

[設定] オプション情報設定

引数
dwOption設定する情報の種別。
INTERNET_OPTION_CALLBACK コールバック関数のアドレスを設定する。
INTERNET_OPTION_CONNECT_TIMEOUT インターネットへの接続のタイムアウト時間を設定する。
INTERNET_OPTION_CONNECT_RETRIES インターネットへの接続のリトライ回数。
INTERNET_OPTION_CONNECT_BACKOFF リトライ時の待機時間。
INTERNET_OPTION_CONTROL_SEND_TIMEOUT 非データの送信要求のタイムアウト時間。現バージョンではFTPのみ有功。
INTERNET_OPTION_CONTROL_RECIEVE_TIMEOUT 非データの受信要求のタイムアウト時間。現バージョンではFTPのみ有効。
INTERNET_OPTION_DATA_SEND_TIMEOUT データの送信要求のタイムアウト時間。
INTERNET_OPTION_DATA_RECEIVE_TIMEOUT データの受信要求のタイムアウト時間。
INTERNET_OPTION_ASYNC_PRIORITY 非同期ダウンロード時の優先度。現バージョンでは未実装。
INTERNET_OPTION_CONTEXT_VALUE hInternetに関連付けられたContextの値。
INTERNET_OPTION_REFRESH レジストリから情報を再読み込み可能かどうか。
INTERNET_OPTION_PROXY プロクシ情報を表すINTERNET_PROXY_INFO構造体。
INTERNET_OPTION_USER_AGENT エージェント名。
INTERNET_OPTION_USERNAME ユーザ名。
INTERNET_OPTION_PASSWORD パスワード。
INTERNET_READ_BUFFER_SIZE 読み込みバッファ長。
INTERNET_WRITE_BUFFER_SIZE FtpPutFileなどで使用される書き込みバッファ長。
INTERNET_OPTION_WRITE_DATA データ書き込み時に使用されるバッファのサイズ。
lpBuffer設定する情報。
dwBufferLengthlpBuffer のサイズ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h371 行目に定義があります。

◆ SetStatusCallback()

INTERNET_STATUS_CALLBACK SetStatusCallback ( INTERNET_STATUS_CALLBACK  pInetProc)

[設定] コールバック設定.

hInternetで識別されるインターネットの使用時における各種イベントの通知などに 使用するコールバック関数を設定する。

参照
http://nienie.com/~masapico/api_InternetSetStatusCallback.html
引数
pInetProc設定するコールバック関数。
戻り値
NULL失敗。
本関数実行前に設定されていたコールバック関数へのポインタ

TnbInternetHandle.h385 行目に定義があります。

◆ WriteFile()

bool WriteFile ( LPCVOID  lpBuffer,
DWORD  dwNumberOfBytesToWrite,
LPDWORD  lpdwNumberOfBytesWritten 
)

[出力] ファイル書き込み.

インターネット上のファイルに対して、指定されたデータを書き込む。

覚え書き
::FtpOpenFile() または ::HttpSendRequestEx() で返された、書き込み先を識別するハンドル。
引数
lpBuffer書き込むデータ。
dwNumberOfBytesToWrite書き込むバイト数。
lpdwNumberOfBytesWritten実際に書き込まれたデータのサイズ。
戻り値
true成功。
false失敗。

TnbInternetHandle.h414 行目に定義があります。