Index: trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp	(revision 27006)
+++ trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp	(revision 27055)
@@ -1084,4 +1084,6 @@
     PDEVICE_EXTENSION pContext = (PDEVICE_EXTENSION)hAdapter;
 
+    AssertBreakpoint();
+
     switch (pQueryAdapterInfo->Type)
     {
@@ -1186,4 +1188,6 @@
     PDEVICE_EXTENSION pContext = (PDEVICE_EXTENSION)hAdapter;
 
+    AssertBreakpoint();
+
     PVBOXWDDM_DEVICE pDevice = (PVBOXWDDM_DEVICE)vboxWddmMemAllocZero(sizeof (VBOXWDDM_DEVICE));
     pCreateDevice->hDevice = pDevice;
@@ -1197,4 +1201,5 @@
 
     pDevice->pAdapter = pContext;
+    pDevice->hDevice = pCreateDevice->hDevice;
 
     pCreateDevice->hDevice = pDevice;
@@ -1238,5 +1243,5 @@
                             pAllocation->enmType = VBOXWDDM_ALLOC_TYPE_STD_SHAREDPRIMARYSURFACE;
                             pAllocation->u.SurfInfo = pAllocInfo->u.SurfInfo;
-                            PVBOXWDDM_ALLOCATION_SHAREDPRIMARYSURFACE pAlloc = VBOXWDDM_ALLOCATION_BODY(pAllocInfo, VBOXWDDM_ALLOCATION_SHAREDPRIMARYSURFACE);
+                            PVBOXWDDM_ALLOCATION_SHAREDPRIMARYSURFACE pAlloc = VBOXWDDM_ALLOCATION_BODY(pAllocation, VBOXWDDM_ALLOCATION_SHAREDPRIMARYSURFACE);
                             PVBOXWDDM_ALLOCINFO_SHAREDPRIMARYSURFACE pAllocI = VBOXWDDM_ALLOCINFO_BODY(pAllocInfo, VBOXWDDM_ALLOCINFO_SHAREDPRIMARYSURFACE);
                             pAlloc->RefreshRate = pAllocI->RefreshRate;
@@ -1287,5 +1292,5 @@
                 if (pAllocationInfo->PrivateDriverDataSize >= VBOXWDDM_ALLOCINFO_HEADSIZE())
                 {
-                    PVBOXWDDM_ALLOCATION pAllocation = (PVBOXWDDM_ALLOCATION)vboxWddmMemAllocZero(VBOXWDDM_ALLOCINFO_HEADSIZE());
+                    PVBOXWDDM_ALLOCATION pAllocation = (PVBOXWDDM_ALLOCATION)vboxWddmMemAllocZero(VBOXWDDM_ALLOCATION_HEADSIZE());
                     Assert(pAllocation);
                     if (pAllocation)
@@ -1348,4 +1353,6 @@
     dfprintf(("==> "__FUNCTION__ ", context(0x%x)\n", hAdapter));
 
+    AssertBreakpoint();
+
     NTSTATUS Status = STATUS_SUCCESS;
 
@@ -1392,5 +1399,7 @@
 }
 
-
+/**
+ * DxgkDdiDescribeAllocation
+ */
 NTSTATUS
 APIENTRY
@@ -1402,5 +1411,12 @@
 
     AssertBreakpoint();
-    /* @todo: fixme: implement */
+    PVBOXWDDM_ALLOCATION pAllocation = (PVBOXWDDM_ALLOCATION)pDescribeAllocation->hAllocation;
+    pDescribeAllocation->Width = pAllocation->u.SurfInfo.width;
+    pDescribeAllocation->Height = pAllocation->u.SurfInfo.height;
+    pDescribeAllocation->Format = pAllocation->u.SurfInfo.format;
+    memset (&pDescribeAllocation->MultisampleMethod, 0, sizeof (pDescribeAllocation->MultisampleMethod));
+    pDescribeAllocation->RefreshRate.Numerator = 60000;
+    pDescribeAllocation->RefreshRate.Denominator = 1000;
+    pDescribeAllocation->PrivateDriverFormatAttribute = 0;
 
     dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter));
@@ -1422,4 +1438,6 @@
 
     dfprintf(("==> "__FUNCTION__ ", context(0x%x)\n", hAdapter));
+
+    AssertBreakpoint();
 
     NTSTATUS Status = STATUS_SUCCESS;
@@ -1660,4 +1678,6 @@
     PAGED_CODE();
 
+    AssertBreakpoint();
+
     NTSTATUS Status = STATUS_SUCCESS;
 
@@ -1812,4 +1832,6 @@
 
     dfprintf(("==> "__FUNCTION__ ", context(0x%x)\n", hAdapter));
+
+    AssertBreakpoint();
 
     PDEVICE_EXTENSION pContext = (PDEVICE_EXTENSION)hAdapter;
@@ -2478,4 +2500,6 @@
     dfprintf(("==> "__FUNCTION__ ", hDevice(0x%x)\n", hDevice));
 
+    AssertBreakpoint();
+
     NTSTATUS Status = STATUS_SUCCESS;
 
@@ -2770,4 +2794,6 @@
     dfprintf(("==> "__FUNCTION__ ", hDevice(0x%x)\n", hDevice));
 
+    AssertBreakpoint();
+
     NTSTATUS Status = STATUS_SUCCESS;
     PVBOXWDDM_DEVICE pDevice = (PVBOXWDDM_DEVICE)hDevice;
Index: trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h	(revision 27006)
+++ trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h	(revision 27055)
@@ -102,4 +102,5 @@
 {
     struct _DEVICE_EXTENSION * pAdapter; /* Adapder info */
+    HANDLE hDevice; /* handle passed to CreateDevice */
     VBOXWDDM_DEVICE_TYPE enmType; /* device creation flags passed to DxgkDdiCreateDevice, not sure we need it */
 } VBOXWDDM_DEVICE, *PVBOXWDDM_DEVICE;
