次の方法で共有


CInternetSession::OnStatusCallback

このメンバー関数は、フレームワークで状態のコールバックが有効になり、操作が保留されている場合を更新するために呼び出されます。

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

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

状態のコールバックのルーチンを実行する前に、アクションを要求するには、このメンバー関数をオーバーライドします。

[!メモ]

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

AFX_MANAGE_STATE(AfxGetAppModuleState());

非同期操作に関する詳細については、" " インターネットの対処方法: WinInetを参照してください。

必要条件

Header: afxinet.h

参照

関連項目

CInternetSession クラス

階層図

CInternetSession::EnableStatusCallback

CInternetSession::GetContext