Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSnapshotDetailsDlg.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSnapshotDetailsDlg.cpp	(revision 29353)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxSnapshotDetailsDlg.cpp	(revision 29354)
@@ -70,7 +70,7 @@
     /* Get thumbnail if present */
     ULONG width = 0, height = 0;
-    QVector <BYTE> thumbData = machine.ReadSavedThumbnailToArray (true, width, height);
+    QVector <BYTE> thumbData = machine.ReadSavedThumbnailToArray (0, true, width, height);
     mThumbnail = thumbData.size() != 0 ? QPixmap::fromImage (QImage (thumbData.data(), width, height, QImage::Format_RGB32).copy()) : QPixmap();
-    QVector <BYTE> screenData = machine.ReadSavedScreenshotPNGToArray (width, height);
+    QVector <BYTE> screenData = machine.ReadSavedScreenshotPNGToArray (0, width, height);
     mScreenshot = screenData.size() != 0 ? QPixmap::fromImage (QImage::fromData (screenData.data(), screenData.size(), "PNG")) : QPixmap();
 
Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 29353)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 29354)
@@ -4654,5 +4654,5 @@
 }
 
-STDMETHODIMP Machine::QuerySavedThumbnailSize(ULONG *aSize, ULONG *aWidth, ULONG *aHeight)
+STDMETHODIMP Machine::QuerySavedThumbnailSize(ULONG aScreenId, ULONG *aSize, ULONG *aWidth, ULONG *aHeight)
 {
     LogFlowThisFunc(("\n"));
@@ -4661,4 +4661,7 @@
     CheckComArgNotNull(aWidth);
     CheckComArgNotNull(aHeight);
+
+    if (aScreenId != 0)
+        return E_NOTIMPL;
 
     AutoCaller autoCaller(this);
@@ -4688,5 +4691,5 @@
 }
 
-STDMETHODIMP Machine::ReadSavedThumbnailToArray(BOOL aBGR, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData))
+STDMETHODIMP Machine::ReadSavedThumbnailToArray(ULONG aScreenId, BOOL aBGR, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData))
 {
     LogFlowThisFunc(("\n"));
@@ -4695,4 +4698,7 @@
     CheckComArgNotNull(aHeight);
     CheckComArgOutSafeArrayPointerValid(aData);
+
+    if (aScreenId != 0)
+        return E_NOTIMPL;
 
     AutoCaller autoCaller(this);
@@ -4747,5 +4753,5 @@
 }
 
-STDMETHODIMP Machine::QuerySavedScreenshotPNGSize(ULONG *aSize, ULONG *aWidth, ULONG *aHeight)
+STDMETHODIMP Machine::QuerySavedScreenshotPNGSize(ULONG aScreenId, ULONG *aSize, ULONG *aWidth, ULONG *aHeight)
 {
     LogFlowThisFunc(("\n"));
@@ -4754,4 +4760,7 @@
     CheckComArgNotNull(aWidth);
     CheckComArgNotNull(aHeight);
+
+    if (aScreenId != 0)
+        return E_NOTIMPL;
 
     AutoCaller autoCaller(this);
@@ -4781,5 +4790,5 @@
 }
 
-STDMETHODIMP Machine::ReadSavedScreenshotPNGToArray(ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData))
+STDMETHODIMP Machine::ReadSavedScreenshotPNGToArray(ULONG aScreenId, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData))
 {
     LogFlowThisFunc(("\n"));
@@ -4788,4 +4797,7 @@
     CheckComArgNotNull(aHeight);
     CheckComArgOutSafeArrayPointerValid(aData);
+
+    if (aScreenId != 0)
+        return E_NOTIMPL;
 
     AutoCaller autoCaller(this);
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 29353)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 29354)
@@ -4215,5 +4215,5 @@
   <interface
      name="IMachine" extends="$unknown"
-     uuid="b5d4457e-888f-46ef-b2db-644616db94fd"
+     uuid="6d9212cb-a5c0-48b7-bbc1-3fa2ba2ee6d2"
      wsmap="managed"
      >
@@ -5940,4 +5940,9 @@
         Returns size in bytes and dimensions in pixels of a saved thumbnail bitmap from saved state.
       </desc>
+      <param name="screenId" type="unsigned long" dir="in">
+        <desc>
+          Saved guest screen to query info from.
+        </desc>
+      </param>
       <param name="size" type="unsigned long" dir="out">
         <desc>
@@ -5961,4 +5966,9 @@
         Thumbnail is retrieved to an array of bytes in uncompressed 32-bit BGRA or RGBA format.
       </desc>
+      <param name="screenId" type="unsigned long" dir="in">
+        <desc>
+          Saved guest screen to read from.
+        </desc>
+      </param>
       <param name="BGR" type="boolean" dir="in">
         <desc>
@@ -5988,4 +5998,9 @@
         Returns size in bytes and dimensions of a saved PNG image of screenshot from saved state.
       </desc>
+      <param name="screenId" type="unsigned long" dir="in">
+        <desc>
+          Saved guest screen to query info from.
+        </desc>
+      </param>
       <param name="size" type="unsigned long" dir="out">
         <desc>
@@ -6009,4 +6024,9 @@
         Screenshot in PNG format is retrieved to an array of bytes.
       </desc>
+      <param name="screenId" type="unsigned long" dir="in">
+        <desc>
+          Saved guest screen to read from.
+        </desc>
+      </param>
       <param name="width" type="unsigned long" dir="out">
         <desc>
Index: /trunk/src/VBox/Main/include/MachineImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MachineImpl.h	(revision 29353)
+++ /trunk/src/VBox/Main/include/MachineImpl.h	(revision 29354)
@@ -499,8 +499,8 @@
     STDMETHOD(GetStorageControllerByName(IN_BSTR aName, IStorageController **storageController));
     STDMETHOD(GetStorageControllerByInstance(ULONG aInstance, IStorageController **storageController));
-    STDMETHOD(QuerySavedThumbnailSize)(ULONG *aSize, ULONG *aWidth, ULONG *aHeight);
-    STDMETHOD(ReadSavedThumbnailToArray)(BOOL aBGR, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData));
-    STDMETHOD(QuerySavedScreenshotPNGSize)(ULONG *aSize, ULONG *aWidth, ULONG *aHeight);
-    STDMETHOD(ReadSavedScreenshotPNGToArray)(ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData));
+    STDMETHOD(QuerySavedThumbnailSize)(ULONG aScreenId, ULONG *aSize, ULONG *aWidth, ULONG *aHeight);
+    STDMETHOD(ReadSavedThumbnailToArray)(ULONG aScreenId, BOOL aBGR, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData));
+    STDMETHOD(QuerySavedScreenshotPNGSize)(ULONG aScreenId, ULONG *aSize, ULONG *aWidth, ULONG *aHeight);
+    STDMETHOD(ReadSavedScreenshotPNGToArray)(ULONG aScreenId, ULONG *aWidth, ULONG *aHeight, ComSafeArrayOut(BYTE, aData));
     STDMETHOD(HotPlugCPU(ULONG aCpu));
     STDMETHOD(HotUnplugCPU(ULONG aCpu));
