次の方法で共有


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

必要条件

**ヘッダー:**afxinet.h

参照

参照

CInternetSession クラス

階層図

CInternetSession::EnableStatusCallback

CInternetSession::GetContext

その他の技術情報

CInternetSession のメンバー