This method uses the HEAD command to retrieve header information
about the file without downloading the contents of the file itself.
This requires that the server support at least version 1.0 of the
protocol standard, or an error will be returned.
The server may not return a file size for some resources. This is
typically the case with scripts that generate dynamic content because
the server has no way of determining the size of the output generated
by the script without actually executing it. The server may also not
provide a file size for HTML documents which use server side includes
(SSI) because that content is also dynamically created by the server.
If the request to the server was successful and the file exists, but
the server does not return a file size, the method will succeed but
the file size returned to the caller will be zero.
When a request is made to the server for information about the
file, the library will attempt to keep the connection alive, even if
the HTTP_OPTION_KEEPALIVE option has not been specified for the
session. This allows an application to request the file size and then
download the file without having to write additional code to
re-establish the connection. However, it is possible that the attempt
to keep the connection open will fail. In that case, an error will be
returned and the client handle will no longer be valid. If this
happens, the lpdwFileSize parameter may still contain a valid
value. If the library was able to determine the file size, but was
not able to maintain the connection to the server, the returned file
size will be greater than zero even if the method returns an
error.