INTERNET_STATUS_CALLBACK コールバック関数 (wininet.h)
アプリケーション定義の状態コールバック関数のプロトタイプ。
INTERNET_STATUS_CALLBACK型は、このコールバック関数へのポインターを定義します。InternetStatusCallback は、アプリケーション定義関数名のプレースホルダーです。
構文
INTERNET_STATUS_CALLBACK InternetStatusCallback;
void InternetStatusCallback(
[in] HINTERNET hInternet,
[in] DWORD_PTR dwContext,
[in] DWORD dwInternetStatus,
[in] LPVOID lpvStatusInformation,
[in] DWORD dwStatusInformationLength
)
{...}
パラメーター
[in] hInternet
コールバック関数が呼び出されるハンドル。
[in] dwContext
hInternet に関連付けられているアプリケーション定義のコンテキスト値を指定する変数へのポインター。
[in] dwInternetStatus
コールバック関数が呼び出される理由を示す状態コード。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
サーバーへの接続を閉じます。 lpvStatusInformation パラメーターは NULL です。 |
|
lpvStatusInformation が指すソケット アドレス (SOCKADDR) に正常に接続されました。 |
|
lpvStatusInformation が指すソケット アドレス (SOCKADDR) への接続。 |
|
サーバーへの接続が正常に閉じられました。 lpvStatusInformation パラメーターは NULL です。 |
|
キャッシュからのコンテンツの取得。 Cookie が受け入れられた、拒否された、ダウングレードされた、または隠されたかどうかなど、URL の過去の Cookie イベントに関するデータが含まれます。
lpvStatusInformation パラメーターは、InternetCookieHistory 構造体へのポインターです。 |
|
受け入れられた、拒否された、ダウングレードされた (永続的な Cookie からセッション Cookie に変更された)、または削除された Cookie の数を示します (ファースト パーティのコンテキストでのみ送信されます)。 lpvStatusInformation パラメーターは、受信した Cookie の数を含む DWORD です。 |
|
要求が送信されたときに送信または抑制された Cookie の数を示します。 lpvStatusInformation パラメーターは、送信または抑制された Cookie の数を持つ DWORD です。 |
|
実装されていません。 |
|
プロキシが検出されたことをクライアント アプリケーションに通知します。 |
|
このハンドル値は終了しました。 pvStatusInformation には、閉じているハンドルのアドレスが含まれています。 lpvStatusInformation パラメーターには、閉じているハンドルのアドレスが含まれています。 |
|
InternetConnect によって使用され、新しいハンドルが作成されたことを示します。 これにより、接続に時間がかかりすぎる場合に、アプリケーションは別のスレッドから InternetCloseHandle を呼び出すことができます。 lpvStatusInformation パラメーターには、HINTERNET ハンドルのアドレスが含まれています。 |
|
サーバーから中間 (100 レベル) の状態コード メッセージを受信しました。 |
|
lpvStatusInformation に含まれる名前の IP アドレスが正常に見つかりました。 lpvStatusInformation パラメーターは、ホスト名を含む PCTSTR を指します。 |
|
応答には P3P ヘッダーが含まれています。 |
|
実装されていません。 |
|
実装されていません。 |
|
実装されていません。 |
|
サーバーが要求に応答するのを待機しています。 lpvStatusInformation パラメーターは NULL です。 |
|
HTTP 要求は、要求を自動的にリダイレクトしようとしています。 lpvStatusInformation パラメーターは、新しい URL を指します。 この時点で、アプリケーションはリダイレクト応答を使用してサーバーから返されたデータを読み取ることができ、応答ヘッダーに対してクエリを実行できます。 また、ハンドルを閉じて操作を取り消すこともできます。 元の要求が INTERNET_FLAG_NO_AUTO_REDIRECT指定されている場合、このコールバックは行われません。 |
|
非同期操作が完了しました。 lpvStatusInformation パラメーターには、INTERNET_ASYNC_RESULT構造体のアドレスが含まれています。 |
|
情報要求をサーバーに正常に送信しました。 lpvStatusInformation パラメーターは、送信されたバイト数を含む DWORD 値を指します。 |
|
lpvStatusInformation に含まれる名前の IP アドレスを調べること。 lpvStatusInformation パラメーターは、ホスト名を含む PCTSTR を指します。 |
|
サーバーから応答を正常に受信しました。 |
|
情報要求をサーバーに送信します。 lpvStatusInformation パラメーターは NULL です。 |
|
セキュリティで保護された (HTTPS) サイトとセキュリティ保護されていない (HTTP) サイトの間で移動されました。 この変更をユーザーに通知する必要があります。そうしないと、ユーザーは機密情報を思わず開示する危険があります。 このフラグが設定されている場合、 lpvStatusInformation パラメーターは、追加のフラグを含む状態 DWORD を指します。 |
[in] lpvStatusInformation
追加の状態情報へのポインター。 INTERNET_STATUS_STATE_CHANGE フラグが設定されると、lpvStatusInformation は、次のフラグの 1 つ以上を含む DWORD を指します。
[in] dwStatusInformationLength
lpvStatusInformation が指すデータのサイズ (バイト単位)。
戻り値
なし
解説
コールバックは要求の処理中に行われるため、アプリケーションは、ネットワーク上のデータ スループットの低下を回避するために、コールバック関数にほとんど時間を費やさないようにする必要があります。 たとえば、コールバック関数にダイアログ ボックスを表示すると、サーバーが要求を終了するような長い操作になる可能性があります。
コールバック関数は、要求を開始したスレッドとは異なるスレッド コンテキストで呼び出すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |