InternetSetStatusCallback 関数 (wininet.h)

InternetSetStatusCallback 関数は、操作中に進行状況が行われると WinINet 関数が呼び出すことができるコールバック関数を設定します。

構文

INTERNET_STATUS_CALLBACK InternetSetStatusCallback(
  [in] HINTERNET                hInternet,
  [in] INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

パラメーター

[in] hInternet

コールバックが設定されるハンドル。

[in] lpfnInternetCallback

進行状況が発生したときに呼び出すコールバック関数へのポインター。既存のコールバック関数を削除する 場合は NULL 。 コールバック関数の詳細については、「 InternetStatusCallback」を参照してください。

戻り値

成功した場合は以前に定義された状態コールバック関数、以前に定義された状態コールバック関数がない場合は NULL 、コールバック関数が無効な場合はINTERNET_INVALID_STATUS_CALLBACKを返します。

注釈

同期関数と非同期関数の両方で、コールバック関数を使用して、名前の解決、サーバーへの接続など、要求の進行状況を示します。 非同期操作にはコールバック関数が必要です。 非同期要求は、要求が完了したことを示すために、INTERNET_STATUS_REQUEST_COMPLETEを使用してアプリケーションにコールバックします。

コールバック関数は任意のハンドルに設定でき、派生ハンドルによって継承されます。 コールバック関数は、前のコールバック値を使用する必要がある保留中の要求がない場合に、 InternetSetStatusCallback を使用して変更できます。 ただし、ハンドルのコールバック関数を変更しても、 InternetConnect によって返されるなどの派生ハンドルのコールバックは変更されないことに注意してください。 各レベルでコールバック関数を変更する必要があります。

WinINet 関数の多くは、ネットワーク上で複数の操作を実行します。 各操作の完了には時間がかかる場合があり、それぞれが失敗する可能性があります。

長期的な操作中に状態情報を表示することが望ましい場合があります。 状態情報を表示するには、コールバックまたは非同期関数が保留中である限り削除できないインターネット状態コールバック関数を設定します。

InternetSetStatusCallback を開始した後、時間のかかるネットワーク操作を監視するために、任意の WinINet 関数内からコールバック関数にアクセスできます。

メモhttpOpenRequestdwContext パラメーターが 0 (INTERNET_NO_CALLBACK) に設定されている場合、または InternetConnectdwContext ハンドルがゼロ (INTERNET_NO_CALLBACK) に設定されている場合、lpfnInternetCallback パラメーターで指定されたコールバック関数は、要求ハンドルの非同期操作では呼び出されません。

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h
Library Wininet.lib
[DLL] Wininet.dll

こちらもご覧ください

一般的な関数

InternetStatusCallback

WinINet 関数