Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 37862)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 37863)
@@ -8397,7 +8397,7 @@
       <desc>Don't show the started process according to the guest OS guidelines.</desc>
     </const>
-    <const name="NoProfile"               value="8"> 
-      <desc>Do not use the user's profile data when exeuting a process.</desc> 
-    </const> 
+    <const name="NoProfile"               value="8">
+      <desc>Do not use the user's profile data when exeuting a process.</desc>
+    </const>
   </enum>
 
@@ -8561,5 +8561,5 @@
   <interface
     name="IGuest" extends="$unknown"
-    uuid="af2766d9-ebff-455f-b5ce-c6f855b8f584"
+    uuid="ed109b6e-0578-4b17-8ace-52646789f1a0"
     wsmap="managed"
     >
@@ -9090,4 +9090,37 @@
     </method>
 
+    <method name="fileQuerySize">
+      <desc>
+        Queries the size of a file, given the path to it.
+
+        <result name="VBOX_E_IPRT_ERROR">
+          Error while looking up information.
+        </result>
+
+      </desc>
+      <param name="file" type="wstring" dir="in">
+        <desc>
+          Full path of file to query file size for.
+        </desc>
+      </param>
+      <param name="userName" type="wstring" dir="in">
+        <desc>
+          User name under which the lookup will be performed; the
+          user has to exist and have the appropriate rights to access / read the
+          desired directory.
+        </desc>
+      </param>
+      <param name="password" type="wstring" dir="in">
+        <desc>
+          Password of the user account specified.
+        </desc>
+      </param>
+      <param name="size" type="long long" dir="return">
+        <desc>
+          Size (in bytes) of file specified.
+        </desc>
+      </param>
+    </method>
+
     <method name="setProcessInput">
       <desc>
@@ -9364,8 +9397,8 @@
           this progress. This means sub-operation number, description, percent
           and so on.
-          
+
           You have to take care on setting up at least the same count on
           sub-operations in this progress object like there are in the other
-          progress object. 
+          progress object.
 
           If the other progress object supports cancel and this object gets any
Index: /trunk/src/VBox/Main/include/GuestImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/GuestImpl.h	(revision 37862)
+++ /trunk/src/VBox/Main/include/GuestImpl.h	(revision 37863)
@@ -107,4 +107,5 @@
     // File handling
     STDMETHOD(FileExists)(IN_BSTR aFile, IN_BSTR aUserName, IN_BSTR aPassword, BOOL *aExists);
+    STDMETHOD(FileQuerySize)(IN_BSTR aFile, IN_BSTR aUserName, IN_BSTR aPassword, LONG64 *aSize);
     // Misc stuff
     STDMETHOD(InternalGetStatistics)(ULONG *aCpuUser, ULONG *aCpuKernel, ULONG *aCpuIdle,
Index: /trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp	(revision 37862)
+++ /trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp	(revision 37863)
@@ -3110,4 +3110,15 @@
 }
 
+STDMETHODIMP Guest::FileQuerySize(IN_BSTR aFile, IN_BSTR aUserName, IN_BSTR aPassword, LONG64 *aSize)
+{
+#ifndef VBOX_WITH_GUEST_CONTROL
+    ReturnComNotImplemented();
+#else /* VBOX_WITH_GUEST_CONTROL */
+    using namespace guestControl;
+
+    return VBOX_E_NOT_SUPPORTED;
+#endif
+}
+
 STDMETHODIMP Guest::UpdateGuestAdditions(IN_BSTR aSource, ULONG aFlags, IProgress **aProgress)
 {
