Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. what is the standard way to give file name in FtpOpenFile() [modified]

what is the standard way to give file name in FtpOpenFile() [modified]

Scheduled Pinned Locked Moved C / C++ / MFC
windows-adminhelpquestion
16 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D David Crow

    So now you have something akin to:

    if (FtpOpenFile(hConnect, TEXT("C:\\good.txt"), GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, NULL) == NULL)
    DWORD dwError = GetLastError();

    "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

    "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

    V Offline
    V Offline
    vptech19
    wrote on last edited by
    #5

    this is also didn't work out.:confused:

    D 1 Reply Last reply
    0
    • V vptech19

      this is also didn't work out.:confused:

      D Offline
      D Offline
      David Crow
      wrote on last edited by
      #6

      What does GetLastError() return?

      "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

      "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

      V 1 Reply Last reply
      0
      • D David Crow

        What does GetLastError() return?

        "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

        "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

        V Offline
        V Offline
        vptech19
        wrote on last edited by
        #7

        it returns 12003. Please note that the user name i am logging have all the rights.

        modified on Thursday, February 07, 2008 10:47:15 AM

        D 1 Reply Last reply
        0
        • V vptech19

          it returns 12003. Please note that the user name i am logging have all the rights.

          modified on Thursday, February 07, 2008 10:47:15 AM

          D Offline
          D Offline
          David Crow
          wrote on last edited by
          #8

          Which equates to ERROR_INTERNET_EXTENDED_ERROR. Did you then call InternetGetLastResponseInfo() to get the error text?

          "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

          "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

          V 1 Reply Last reply
          0
          • D David Crow

            Which equates to ERROR_INTERNET_EXTENDED_ERROR. Did you then call InternetGetLastResponseInfo() to get the error text?

            "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

            "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

            V Offline
            V Offline
            vptech19
            wrote on last edited by
            #9

            Tried as InternetGetLastResponseInfo(lpdwError, lpszBuffer, lpdwBufferLength); cout<<lpszBuffer; if this is correct, it have 00394BD8.

            D 1 Reply Last reply
            0
            • V vptech19

              Tried as InternetGetLastResponseInfo(lpdwError, lpszBuffer, lpdwBufferLength); cout<<lpszBuffer; if this is correct, it have 00394BD8.

              D Offline
              D Offline
              David Crow
              wrote on last edited by
              #10

              vptech19 wrote:

              cout<<lpszBuffer;

              cout << (LPCTSTR) lpszBuffer;

              "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

              "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

              V 1 Reply Last reply
              0
              • D David Crow

                vptech19 wrote:

                cout<<lpszBuffer;

                cout << (LPCTSTR) lpszBuffer;

                "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

                "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

                V Offline
                V Offline
                vptech19
                wrote on last edited by
                #11

                it is didn't work. if i use InternetGetLastResponseInfo() & ran the program means, it breaks the code. But FtpOpenFile() returns the error code as 6 now. where can i refer the error codes?

                D M 2 Replies Last reply
                0
                • V vptech19

                  it is didn't work. if i use InternetGetLastResponseInfo() & ran the program means, it breaks the code. But FtpOpenFile() returns the error code as 6 now. where can i refer the error codes?

                  D Offline
                  D Offline
                  David Crow
                  wrote on last edited by
                  #12

                  vptech19 wrote:

                  it is didn't work. if i use InternetGetLastResponseInfo() & ran the program means, it breaks the code.

                  So you have something like:

                  if (FtpOpenFile(hConnect, TEXT("C:\\good.txt"), GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, NULL) == NULL)
                  {
                  DWORD dwError = GetLastError();
                  if (ERROR_INTERNET_EXTENDED_ERROR == dwError)
                  {
                  TCHAR szErrorText[256];
                  DWORD dwSize = sizeof(szErrorText);
                  InternetGetLastResponseInfo(&dwError, szErrorText, &dwSize);
                  }
                  }

                  vptech19 wrote:

                  But FtpOpenFile() returns the error code as 6 now.

                  FtpOpenFile() returns a handle to indicate success, and NULL to indicate failure. Since 6 is not NULL, I can only assume that FtpOpenFile() is not failing.

                  "Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman

                  "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

                  1 Reply Last reply
                  0
                  • V vptech19

                    it is didn't work. if i use InternetGetLastResponseInfo() & ran the program means, it breaks the code. But FtpOpenFile() returns the error code as 6 now. where can i refer the error codes?

                    M Offline
                    M Offline
                    Mark Salsbery
                    wrote on last edited by
                    #13

                    vptech19 wrote:

                    where can i refer the error codes?

                    System Error Codes[^]

                    Mark Salsbery Microsoft MVP - Visual C++ :java:

                    V 1 Reply Last reply
                    0
                    • M Mark Salsbery

                      vptech19 wrote:

                      where can i refer the error codes?

                      System Error Codes[^]

                      Mark Salsbery Microsoft MVP - Visual C++ :java:

                      V Offline
                      V Offline
                      vptech19
                      wrote on last edited by
                      #14

                      I missed out some FTP configurations in Destination m/c, so now the FtpOpenFile() works fine. The FtpGetFile() throws 12110(ERROR_FTP_TRANSFER_IN_PROGRESS) error. Do i need to include some kind of delay after FtpOpenFile()?. To debug this i tried to login thro FTP to the source m/c(other m/c) - it is success. But i wan not able to login thro FTP to my m/c from the source m/c. I feel this may causing the problem. Do i need to set any configurations anything else mentioned in "https://engineering.purdue.edu/ECN/Support/KB/Docs/FTPSetUpWindows" and "http://articles.techrepublic.com.com/5100-6345-5031102.html".

                      M 1 Reply Last reply
                      0
                      • V vptech19

                        I missed out some FTP configurations in Destination m/c, so now the FtpOpenFile() works fine. The FtpGetFile() throws 12110(ERROR_FTP_TRANSFER_IN_PROGRESS) error. Do i need to include some kind of delay after FtpOpenFile()?. To debug this i tried to login thro FTP to the source m/c(other m/c) - it is success. But i wan not able to login thro FTP to my m/c from the source m/c. I feel this may causing the problem. Do i need to set any configurations anything else mentioned in "https://engineering.purdue.edu/ECN/Support/KB/Docs/FTPSetUpWindows" and "http://articles.techrepublic.com.com/5100-6345-5031102.html".

                        M Offline
                        M Offline
                        Mark Salsbery
                        wrote on last edited by
                        #15

                        After you've called FtpOpenFile(), the only operations you can do are InternetReadFile(), InternetWriteFile(), InternetCloseHandle(), or FtpFindFirstFile(). Once you've closed the file you can use FtpGetFile(). FtpGetFile() is meant to be used by itself - you don't need to (and can't) open the file first. You use FtpOpenFile()/InternetReadFile()/InternetCloseHandle() when you want more control over the file transfer. Mark

                        Mark Salsbery Microsoft MVP - Visual C++ :java:

                        V 1 Reply Last reply
                        0
                        • M Mark Salsbery

                          After you've called FtpOpenFile(), the only operations you can do are InternetReadFile(), InternetWriteFile(), InternetCloseHandle(), or FtpFindFirstFile(). Once you've closed the file you can use FtpGetFile(). FtpGetFile() is meant to be used by itself - you don't need to (and can't) open the file first. You use FtpOpenFile()/InternetReadFile()/InternetCloseHandle() when you want more control over the file transfer. Mark

                          Mark Salsbery Microsoft MVP - Visual C++ :java:

                          V Offline
                          V Offline
                          vptech19
                          wrote on last edited by
                          #16

                          Yes, you are correct. Now upload and download both works fine. Thanks a lot Mark, David and all. -vp

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups