Share via


InternetSetStatusCallbackA 関数 (wininet.h)

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

構文

INTERNET_STATUS_CALLBACK InternetSetStatusCallbackA(
  HINTERNET                hInternet,
  INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

パラメーター

hInternet

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

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) を使用します。
 

注意

wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして InternetSetStatusCallback を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
Header wininet.h

こちらもご覧ください

共通関数

InternetStatusCallback

WinINet 関数