次の方法で共有


CInternetSession::OnStatusCallback

更新 : 2007 年 11 月

ステータス コールバックが有効で操作が保留状態のときに、ステータスを更新するためにフレームワークによって呼び出されます。

virtual void OnStatusCallback(
   DWORD_PTR dwContext,
   DWORD dwInternetStatus,
   LPVOID lpvStatusInformation,
   DWORD dwStatusInformationLength 
);

パラメータ

  • dwContext
    アプリケーションにより提供されるコンテキスト値。

  • dwInternetStatus
    コールバックの理由を示すステータス コード。指定できる値については、後の「解説」を参照してください。

  • lpvStatusInformation
    このコールバックに関する情報を格納しているバッファへのポインタ。

  • dwStatusInformationLength
    lpvStatusInformation のサイズ。

解説

ステータス コールバックを使用するには、EnableStatusCallback を呼び出しておく必要があります。

パラメータ dwInternetStatus は、実行される操作を示し、lpvStatusInformation の内容を決定します。dwStatusInformationLength は、lpvStatusInformation に含まれるデータの長さを示します。dwInternetStatus のステータス値と、その定義を次に示します。

説明

INTERNET_STATUS_RESOLVING_NAME

lpvStatusInformation に格納されている名前の IP アドレスを検索しています。

INTERNET_STATUS_NAME_RESOLVED

lpvStatusInformation に格納されている名前の IP アドレスが見つかりました。

INTERNET_STATUS_CONNECTING_TO_SERVER

lpvStatusInformation で指定されているソケット アドレス (SOCKADDR) に接続しています。

INTERNET_STATUS_CONNECTED_TO_SERVER

lpvStatusInformation で指定されているソケット アドレス (SOCKADDR) への接続が確立しました。

INTERNET_STATUS_SENDING_REQUEST

サーバーに要求を送信しています。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_ REQUEST_SENT

サーバーへの要求の送信が完了しました。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_RECEIVING_RESPONSE

要求に対するサーバーからの応答を待機しています。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_RESPONSE_RECEIVED

サーバーからの応答を受信しました。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_CLOSING_CONNECTION

サーバーへの接続を切断しています。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_CONNECTION_CLOSED

サーバーへの接続が正常に終了しました。パラメータ lpvStatusInformation は NULL です。

INTERNET_STATUS_HANDLE_CREATED

Win32 API 関数 InternetConnect によって使用され、新しいハンドルが作成されたことを示します。これにより、接続に時間がかかる場合に、アプリケーションが別のスレッドから Win32 関数 InternetCloseHandle を呼び出すことができるようになります。これらの関数の詳細については、Windows SDK を参照してください。

INTERNET_STATUS_HANDLE_CLOSING

このハンドル値が正常に終了したことを示します。

ステータス コールバック ルーチンを実行する前にアクションを実行する必要がある場合は、このメンバ関数をオーバーライドします。

4bwy8hw5.alert_note(ja-jp,VS.90).gifメモ :

ステータス コールバックを実行するには、スレッドの状態を保護する必要があります。MFC を共有ライブラリで使用する場合、次の行をオーバーライドの先頭に追加してください。

AFX_MANAGE_STATE(AfxGetAppModuleState());

非同期操作の詳細については、「WinInet の基礎」を参照してください。

必要条件

ヘッダー : afxinet.h

参照

参照

CInternetSession クラス

階層図

CInternetSession::EnableStatusCallback

CInternetSession::GetContext

その他の技術情報

CInternetSession のメンバ