Index: /trunk/src/VBox/Devices/Storage/DrvDiskIntegrity.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DrvDiskIntegrity.cpp	(revision 64723)
+++ /trunk/src/VBox/Devices/Storage/DrvDiskIntegrity.cpp	(revision 64724)
@@ -961,4 +961,11 @@
 }
 
+/** @interface_method_impl{PDMIMEDIA,pfnIsNonRotational} */
+static DECLCALLBACK(bool) drvdiskintIsNonRotational(PPDMIMEDIA pInterface)
+{
+    PDRVDISKINTEGRITY pThis = PDMIMEDIA_2_DRVDISKINTEGRITY(pInterface);
+    return pThis->pDrvMedia->pfnIsNonRotational(pThis->pDrvMedia);
+}
+
 /* -=-=-=-=- IMediaPort -=-=-=-=- */
 
@@ -1185,4 +1192,13 @@
 
 /**
+ * @interface_method_impl{PDMIMEDIAEX,pfnQueryFeatures}
+ */
+static DECLCALLBACK(int) drvdiskintQueryFeatures(PPDMIMEDIAEX pInterface, uint32_t *pfFeatures)
+{
+    PDRVDISKINTEGRITY pThis = RT_FROM_MEMBER(pInterface, DRVDISKINTEGRITY, IMediaEx);
+    return pThis->pDrvMediaEx->pfnQueryFeatures(pThis->pDrvMediaEx, pfFeatures);
+}
+
+/**
  * @interface_method_impl{PDMIMEDIAEX,pfnIoReqAllocSizeSet}
  */
@@ -1253,4 +1269,31 @@
 
     return pThis->pDrvMediaEx->pfnIoReqFree(pThis->pDrvMediaEx, hIoReq);
+}
+
+/**
+ * @interface_method_impl{PDMIMEDIAEX,pfnIoReqQueryResidual}
+ */
+static DECLCALLBACK(int) drvdiskintIoReqQueryResidual(PPDMIMEDIAEX pInterface, PDMMEDIAEXIOREQ hIoReq, size_t *pcbResidual)
+{
+    PDRVDISKINTEGRITY pThis = RT_FROM_MEMBER(pInterface, DRVDISKINTEGRITY, IMediaEx);
+    return pThis->pDrvMediaEx->pfnIoReqQueryResidual(pThis->pDrvMediaEx, hIoReq, pcbResidual);
+}
+
+/**
+ * @interface_method_impl{PDMIMEDIAEX,pfnIoReqQueryXferSize}
+ */
+static DECLCALLBACK(int) drvdiskintIoReqQueryXferSize(PPDMIMEDIAEX pInterface, PDMMEDIAEXIOREQ hIoReq, size_t *pcbXfer)
+{
+    PDRVDISKINTEGRITY pThis = RT_FROM_MEMBER(pInterface, DRVDISKINTEGRITY, IMediaEx);
+    return pThis->pDrvMediaEx->pfnIoReqQueryXferSize(pThis->pDrvMediaEx, hIoReq, pcbXfer);
+}
+
+/**
+ * @interface_method_impl{PDMIMEDIAEX,pfnIoReqCancelAll}
+ */
+static DECLCALLBACK(int) drvdiskintIoReqCancelAll(PPDMIMEDIAEX pInterface)
+{
+    PDRVDISKINTEGRITY pThis = RT_FROM_MEMBER(pInterface, DRVDISKINTEGRITY, IMediaEx);
+    return pThis->pDrvMediaEx->pfnIoReqCancelAll(pThis->pDrvMediaEx);
 }
 
@@ -1644,9 +1687,14 @@
     pThis->IMedia.pfnGetType             = drvdiskintGetType;
     pThis->IMedia.pfnReadPcBios          = drvdiskintReadPcBios;
+    pThis->IMedia.pfnIsNonRotational     = drvdiskintIsNonRotational;
 
     /* IMediaEx. */
+    pThis->IMediaEx.pfnQueryFeatures            = drvdiskintQueryFeatures;
     pThis->IMediaEx.pfnIoReqAllocSizeSet        = drvdiskintIoReqAllocSizeSet;
     pThis->IMediaEx.pfnIoReqAlloc               = drvdiskintIoReqAlloc;
     pThis->IMediaEx.pfnIoReqFree                = drvdiskintIoReqFree;
+    pThis->IMediaEx.pfnIoReqQueryResidual       = drvdiskintIoReqQueryResidual;
+    pThis->IMediaEx.pfnIoReqQueryXferSize       = drvdiskintIoReqQueryXferSize;
+    pThis->IMediaEx.pfnIoReqCancelAll           = drvdiskintIoReqCancelAll;
     pThis->IMediaEx.pfnIoReqCancel              = drvdiskintIoReqCancel;
     pThis->IMediaEx.pfnIoReqRead                = drvdiskintIoReqRead;
