LPINTERNET_STATUS_CALLBACK
コールバックシグネチャ
void LPINTERNET_STATUS_CALLBACK(
void* hInternet,
UINT_PTR dwContext,
DWORD dwInternetStatus,
void* lpvStatusInformation,
DWORD dwStatusInformationLength
);パラメーター
| フィールド | 型 | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hInternet | void* | コールバック関数が呼び出される対象のハンドルです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| dwContext | UINT_PTR | hInternet に関連付けられた、アプリケーション定義のコンテキスト値を指定する変数へのポインターです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| dwInternetStatus | DWORD | コールバック関数が呼び出された理由を示すステータスコードです。このパラメーターには、次のいずれかの値を指定できます。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| lpvStatusInformation | void* | 追加のステータス情報へのポインターです。INTERNET_STATUS_STATE_CHANGE フラグが設定されている場合、lpvStatusInformation は、次のフラグの 1 つ以上を格納する DWORD を指します。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| dwStatusInformationLength | DWORD | lpvStatusInformation が指すデータのサイズ (バイト単位) です。 |
公式ドキュメント
アプリケーション定義のステータスコールバック関数のプロトタイプです。
INTERNET_STATUS_CALLBACK 型は、このコールバック関数へのポインターを定義します。InternetStatusCallback は、アプリケーション定義の関数名のプレースホルダーです。
解説(Remarks)
コールバックは要求の処理中に行われるため、ネットワークのデータスループットを低下させないよう、アプリケーションはコールバック関数内での処理時間を短く抑える必要があります。たとえば、コールバック関数内でダイアログボックスを表示すると、処理が長時間に及び、サーバーが要求を終了してしまうことがあります。
コールバック関数は、要求を開始したスレッドとは異なるスレッドコンテキストで呼び出されることがあります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)