Partager via


CHttpFile::SendRequestEx

Appelez la fonction membre pour envoyer une requête à un serveur HTTP.

BOOL SendRequestEx( 
   DWORD dwTotalLen, 
   DWORD dwFlags = HSR_INITIATE, 
   DWORD_PTR dwContext = 1  
); 
BOOL SendRequestEx( 
   LPINTERNET_BUFFERS lpBuffIn, 
   LPINTERNET_BUFFERS lpBuffOut, 
   DWORD dwFlags = HSR_INITIATE, 
   DWORD_PTR dwContext = 1  
);

Paramètres

  • dwTotalLen
    Nombre d'octets à taper la demande.

  • dwFlags
    Balises qui décrivent l'exécution. Pour une liste des balises appropriées, consultez HttpSendRequestEx dans Kit de développement logiciel Windows*.*

  • dwContext
    l'identificateur de contexte pour l'exécution d' CHttpFile . Consultez les notes pour plus d'informations sur ce paramètre.

  • lpBuffIn
    Le pointeur à INTERNET_BUFFERS initialisé qui décrit la mémoire tampon d'entrée a utilisé pour l'exécution.

  • lpBuffOut
    Le pointeur à INTERNET_BUFFERS initialisé qui décrit la mémoire tampon de sortie l'a utilisé pour l'exécution.

Valeur de retour

Une valeur différente de zéro si l'opération a réussi. Si l'appel échoue, déterminez la cause de l'échec en examinant l'objet levé de CInternetException .

Notes

Cette fonction permet à votre application d'envoyer des données à l'aide de les méthodes d' Écriture et de WriteString d' CInternetFile. Vous devez connaître la longueur des données à envoyer avant d'appeler l'une ou l'autre de substitution de cette fonction. La première substitution vous permet de spécifier la longueur des données que vous souhaitez envoyer. La deuxième substitution reçoit des pointeurs vers les structures d' INTERNET_BUFFERS , qui peuvent être utilisées pour décrire la mémoire tampon en détail.

Une fois que le contenu est écrit dans le fichier, appelez EndRequest pour terminer l'opération.

La valeur par défaut pour dwContext est envoyée par MFC à l'objet d' CHttpFile de l'objet de CInternetSession qui a créé l'objet d' CHttpFile . Lorsque vous appelez CInternetSession::OpenURL ou CHttpConnection pour construire un objet d' CHttpFile , vous pouvez substituer la valeur par défaut pour définir l'ID de contexte à une valeur de votre choix. L'identificateur de contexte est retourné à CInternetSession::OnStatusCallback pour fournir le rapport état de l'objet avec lequel il est identifié. Consultez l'article Premières étapes Internet : WinInet pour plus d'informations sur l'identificateur de contexte.

Exceptions

Cette méthode peut lever des exceptions de type CInternetException*.

Exemple

Ce fragment de code envoie le contenu d'une chaîne en un MFCISAPI.DLL nommé par la DLL sur le serveur de LOCALHOST. Bien que cet exemple utilise un seul appel à WriteString, à l'aide de plusieurs appels il est acceptable d'envoyer des données dans des blocs.

CString strData = _T("Some very long data to be POSTed here!");
pServer = session.GetHttpConnection(_T("localhost"));
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, 
   _T("/MFCISAPI/MFCISAPI.dll?"));
pFile->SendRequestEx(strData.GetLength());

pFile->WriteString(strData);   
pFile->EndRequest();

Configuration requise

Header: afxinet.h

Voir aussi

Référence

CHttpFile, classe

Graphique de la hiérarchie

CInternetFile, classe

CHttpFile::SendRequest