From: Vadim Zeitlin Date: Sat, 21 Jun 2008 15:42:20 +0000 (+0000) Subject: implement wxWinINetInputStream::GetSize() (#9600) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/624f82cc945369fee912cd4bd56a1e84f4920502 implement wxWinINetInputStream::GetSize() (#9600) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/urlmsw.cpp b/src/msw/urlmsw.cpp index e24bcbb90b..7c7bab29c7 100644 --- a/src/msw/urlmsw.cpp +++ b/src/msw/urlmsw.cpp @@ -129,6 +129,7 @@ public: { return -1; } wxFileOffset TellI() const { return -1; } + size_t GetSize() const; protected: void SetError(wxStreamError err) { m_lasterror=err; } @@ -138,6 +139,18 @@ protected: DECLARE_NO_COPY_CLASS(wxWinINetInputStream) }; +size_t wxWinINetInputStream::GetSize() const +{ + DWORD contentLength = 0; + DWORD dwSize = sizeof(contentLength); + DWORD index = 0; + + if ( HttpQueryInfo( m_hFile, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, &contentLength, &dwSize, &index) ) + return contentLength; + else + return 0; +} + size_t wxWinINetInputStream::OnSysRead(void *buffer, size_t bufsize) { DWORD bytesread = 0;