次の方法で共有


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 関数内からコールバック関数にアクセスできます。

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

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

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

手記

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

必要条件

要件 価値
ヘッダー wininet.h

関連項目

共通関数の

InternetStatusCallback

WinINet Functions の