Changeset 32876 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- Oct 1, 2010 8:38:01 PM (14 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Miniport
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
r32677 r32876 1969 1969 1970 1970 #ifdef VBOX_WITH_HGSMI 1971 ((PDEVICE_EXTENSION)HwDeviceExtension)->u.primary.IOPortHost = (RTIOPORT)VGA_PORT_HGSMI_HOST; 1972 ((PDEVICE_EXTENSION)HwDeviceExtension)->u.primary.IOPortGuest = (RTIOPORT)VGA_PORT_HGSMI_GUEST; 1971 /* pPrimary is not yet set */ 1972 ((PDEVICE_EXTENSION)HwDeviceExtension)->u.primary.hgsmiInfo.IOPortHost = (RTIOPORT)VGA_PORT_HGSMI_HOST; 1973 ((PDEVICE_EXTENSION)HwDeviceExtension)->u.primary.hgsmiInfo.IOPortGuest = (RTIOPORT)VGA_PORT_HGSMI_GUEST; 1973 1974 #endif /* VBOX_WITH_HGSMI */ 1974 1975 … … 2024 2025 VBoxSetupDisplaysHGSMI((PDEVICE_EXTENSION)HwDeviceExtension, ConfigInfo, AdapterMemorySize); 2025 2026 2026 if ( ((PDEVICE_EXTENSION)HwDeviceExtension)->u.primary.bHGSMI)2027 if (hgsmiFromDeviceExt((PDEVICE_EXTENSION)HwDeviceExtension)->bHGSMI) 2027 2028 { 2028 2029 LogRel(("VBoxVideo: using HGSMI\n")); … … 2675 2676 } 2676 2677 2677 if (! pDevExt->pPrimary->u.primary.bHGSMI)2678 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2678 2679 { 2679 2680 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; … … 2692 2693 pInfo->u32MinVBVABufferSize = VBVA_MIN_BUFFER_SIZE; 2693 2694 2694 pInfo->IOPortGuestCommand = pDevExt->pPrimary->u.primary.IOPortGuest;2695 pInfo->IOPortGuestCommand = hgsmiFromDeviceExt(pDevExt)->IOPortGuest; 2695 2696 2696 2697 RequestPacket->StatusBlock->Information = sizeof(QUERYHGSMIRESULT); … … 2711 2712 } 2712 2713 2713 if (! pDevExt->pPrimary->u.primary.bHGSMI)2714 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2714 2715 { 2715 2716 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; … … 2739 2740 } 2740 2741 2741 if (! pDevExt->pPrimary->u.primary.bHGSMI)2742 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2742 2743 { 2743 2744 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; … … 2765 2766 } 2766 2767 2767 if (! pDevExt->pPrimary->u.primary.bHGSMI)2768 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2768 2769 { 2769 2770 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; … … 2786 2787 { 2787 2788 /* TODO: implement */ 2788 if (! pDevExt->pPrimary->u.primary.bHGSMI)2789 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2789 2790 { 2790 2791 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; … … 2804 2805 } 2805 2806 2806 if (! pDevExt->pPrimary->u.primary.bHGSMI)2807 if (!hgsmiFromDeviceExt(pDevExt)->bHGSMI) 2807 2808 { 2808 2809 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h
r32823 r32876 200 200 #endif 201 201 202 #ifdef VBOX_WITH_HGSMI 203 typedef struct HGSMI_GUEST_INFO 204 { 205 BOOLEAN bHGSMI; /* Whether HGSMI is enabled. */ 206 207 HGSMIAREA areaHostHeap; /* Host heap VRAM area. */ 208 209 HGSMICHANNELINFO channels; 210 211 HGSMIHEAP hgsmiAdapterHeap; 212 213 /* The IO Port Number for host commands. */ 214 RTIOPORT IOPortHost; 215 216 /* The IO Port Number for guest commands. */ 217 RTIOPORT IOPortGuest; 218 } HGSMI_GUEST_INFO, *PHGSMI_GUEST_INFO; 219 #endif 220 202 221 typedef struct _DEVICE_EXTENSION 203 222 { … … 271 290 272 291 #ifdef VBOX_WITH_HGSMI 273 BOOLEAN bHGSMI; /* Whether HGSMI is enabled. */ 274 275 HGSMIAREA areaHostHeap; /* Host heap VRAM area. */ 276 277 HGSMICHANNELINFO channels; 278 279 HGSMIHEAP hgsmiAdapterHeap; 280 281 /* The IO Port Number for host commands. */ 282 RTIOPORT IOPortHost; 283 284 /* The IO Port Number for guest commands. */ 285 RTIOPORT IOPortGuest; 292 HGSMI_GUEST_INFO hgsmiInfo; 286 293 # ifndef VBOX_WITH_WDDM 287 294 /* Video Port API dynamically picked up at runtime for binary backwards compatibility with older NT versions */ … … 336 343 #endif 337 344 } DEVICE_EXTENSION, *PDEVICE_EXTENSION; 345 346 static inline PHGSMI_GUEST_INFO hgsmiFromDeviceExt(PDEVICE_EXTENSION pExt) 347 { 348 #ifndef VBOX_WITH_WDDM 349 return &pExt->pPrimary->u.primary.hgsmiInfo; 350 #else 351 return &pExt->u.primary.hgsmiInfo; 352 #endif 353 } 338 354 339 355 #ifndef VBOX_WITH_WDDM … … 852 868 * Host and Guest port IO helpers. 853 869 */ 854 DECLINLINE(void) VBoxHGSMIHostWrite(PDEVICE_EXTENSION PrimaryExtension, ULONG data) 855 { 856 #ifndef VBOX_WITH_WDDM 857 VBoxVideoCmnPortWriteUlong((PULONG)PrimaryExtension->pPrimary->u.primary.IOPortHost, data); 858 #else 859 VBoxVideoCmnPortWriteUlong((PULONG)PrimaryExtension->u.primary.IOPortHost, data); 860 #endif 861 } 862 863 DECLINLINE(ULONG) VBoxHGSMIHostRead(PDEVICE_EXTENSION PrimaryExtension) 864 { 865 #ifndef VBOX_WITH_WDDM 866 return VBoxVideoCmnPortReadUlong((PULONG)PrimaryExtension->pPrimary->u.primary.IOPortHost); 867 #else 868 return VBoxVideoCmnPortReadUlong((PULONG)PrimaryExtension->u.primary.IOPortHost); 869 #endif 870 } 871 872 DECLINLINE(void) VBoxHGSMIGuestWrite(PDEVICE_EXTENSION PrimaryExtension, ULONG data) 873 { 874 #ifndef VBOX_WITH_WDDM 875 VBoxVideoCmnPortWriteUlong((PULONG)PrimaryExtension->pPrimary->u.primary.IOPortGuest, data); 876 #else 877 VBoxVideoCmnPortWriteUlong((PULONG)PrimaryExtension->u.primary.IOPortGuest, data); 878 #endif 879 } 880 881 DECLINLINE(ULONG) VBoxHGSMIGuestRead(PDEVICE_EXTENSION PrimaryExtension) 882 { 883 #ifndef VBOX_WITH_WDDM 884 return VBoxVideoCmnPortReadUlong((PULONG)PrimaryExtension->pPrimary->u.primary.IOPortGuest); 885 #else 886 return VBoxVideoCmnPortReadUlong((PULONG)PrimaryExtension->u.primary.IOPortGuest); 887 #endif 870 DECLINLINE(void) VBoxHGSMIHostWrite(PHGSMI_GUEST_INFO pInfo, ULONG data) 871 { 872 VBoxVideoCmnPortWriteUlong((PULONG)pInfo->IOPortHost, data); 873 } 874 875 DECLINLINE(ULONG) VBoxHGSMIHostRead(PHGSMI_GUEST_INFO pInfo) 876 { 877 return VBoxVideoCmnPortReadUlong((PULONG)pInfo->IOPortHost); 878 } 879 880 DECLINLINE(void) VBoxHGSMIGuestWrite(PHGSMI_GUEST_INFO pInfo, ULONG data) 881 { 882 VBoxVideoCmnPortWriteUlong((PULONG)pInfo->IOPortGuest, data); 883 } 884 885 DECLINLINE(ULONG) VBoxHGSMIGuestRead(PHGSMI_GUEST_INFO pInfo) 886 { 887 return VBoxVideoCmnPortReadUlong((PULONG)pInfo->IOPortGuest); 888 888 } 889 889 -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideoHGSMI.cpp
r32622 r32876 35 35 void HGSMINotifyHostCmdComplete (PDEVICE_EXTENSION PrimaryExtension, HGSMIOFFSET offt) 36 36 { 37 VBoxHGSMIHostWrite( PrimaryExtension, offt);37 VBoxHGSMIHostWrite(hgsmiFromDeviceExt(PrimaryExtension), offt); 38 38 } 39 39 40 40 void HGSMIClearIrq (PDEVICE_EXTENSION PrimaryExtension) 41 41 { 42 VBoxHGSMIHostWrite( PrimaryExtension, HGSMIOFFSET_VOID);42 VBoxHGSMIHostWrite(hgsmiFromDeviceExt(PrimaryExtension), HGSMIOFFSET_VOID); 43 43 } 44 44 45 45 static void HGSMIHostCmdComplete (PDEVICE_EXTENSION PrimaryExtension, void * pvMem) 46 46 { 47 HGSMIOFFSET offMem = HGSMIPointerToOffset (& PrimaryExtension->u.primary.areaHostHeap, HGSMIBufferHeaderFromData (pvMem));47 HGSMIOFFSET offMem = HGSMIPointerToOffset (&hgsmiFromDeviceExt(PrimaryExtension)->areaHostHeap, HGSMIBufferHeaderFromData (pvMem)); 48 48 Assert(offMem != HGSMIOFFSET_VOID); 49 49 if(offMem != HGSMIOFFSET_VOID) … … 55 55 static void hgsmiHostCmdProcess(PDEVICE_EXTENSION PrimaryExtension, HGSMIOFFSET offBuffer) 56 56 { 57 int rc = HGSMIBufferProcess (& PrimaryExtension->u.primary.areaHostHeap,58 & PrimaryExtension->u.primary.channels,57 int rc = HGSMIBufferProcess (&hgsmiFromDeviceExt(PrimaryExtension)->areaHostHeap, 58 &hgsmiFromDeviceExt(PrimaryExtension)->channels, 59 59 offBuffer); 60 60 Assert(!RT_FAILURE(rc)); … … 70 70 static HGSMIOFFSET hgsmiGetHostBuffer (PDEVICE_EXTENSION PrimaryExtension) 71 71 { 72 return VBoxHGSMIHostRead( PrimaryExtension);72 return VBoxHGSMIHostRead(hgsmiFromDeviceExt(PrimaryExtension)); 73 73 } 74 74 … … 190 190 /* @todo: add synchronization */ 191 191 #endif 192 return HGSMIHeapAlloc (& PrimaryExtension->u.primary.hgsmiAdapterHeap, cbData, u8Ch, u16Op);192 return HGSMIHeapAlloc (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, cbData, u8Ch, u16Op); 193 193 } 194 194 … … 198 198 /* @todo: add synchronization */ 199 199 #endif 200 HGSMIHeapFree (& PrimaryExtension->u.primary.hgsmiAdapterHeap, pvBuffer);200 HGSMIHeapFree (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, pvBuffer); 201 201 } 202 202 … … 204 204 { 205 205 /* Initialize the buffer and get the offset for port IO. */ 206 HGSMIOFFSET offBuffer = HGSMIHeapBufferOffset (& PrimaryExtension->u.primary.hgsmiAdapterHeap, pvBuffer);206 HGSMIOFFSET offBuffer = HGSMIHeapBufferOffset (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, pvBuffer); 207 207 208 208 Assert(offBuffer != HGSMIOFFSET_VOID); … … 210 210 { 211 211 /* Submit the buffer to the host. */ 212 VBoxHGSMIGuestWrite( PrimaryExtension, offBuffer);212 VBoxHGSMIGuestWrite(hgsmiFromDeviceExt(PrimaryExtension), offBuffer); 213 213 return VINF_SUCCESS; 214 214 } … … 236 236 #endif 237 237 238 void *p = HGSMIHeapAlloc (& PrimaryExtension->u.primary.hgsmiAdapterHeap, cbData, u8Ch, u16Op);238 void *p = HGSMIHeapAlloc (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, cbData, u8Ch, u16Op); 239 239 240 240 if (!p) … … 253 253 { 254 254 /* Initialize the buffer and get the offset for port IO. */ 255 HGSMIOFFSET offBuffer = HGSMIHeapBufferOffset (& PrimaryExtension->u.primary.hgsmiAdapterHeap,255 HGSMIOFFSET offBuffer = HGSMIHeapBufferOffset (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, 256 256 p); 257 257 258 258 /* Submit the buffer to the host. */ 259 VBoxHGSMIGuestWrite( PrimaryExtension, offBuffer);259 VBoxHGSMIGuestWrite(hgsmiFromDeviceExt(PrimaryExtension), offBuffer); 260 260 261 261 if (pfnFinalize) … … 271 271 272 272 /* Free the IO buffer. */ 273 HGSMIHeapFree (& PrimaryExtension->u.primary.hgsmiAdapterHeap, p);273 HGSMIHeapFree (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, p); 274 274 } 275 275 … … 743 743 PrimaryExtension->u.primary.pHostFlags = NULL; 744 744 PrimaryExtension->u.primary.ulMaxFrameBufferSize = 0; 745 PrimaryExtension->u.primary.bHGSMI= VBoxHGSMIIsSupported (PrimaryExtension);746 VBoxVideoCmnMemZero(& PrimaryExtension->u.primary.areaHostHeap, sizeof(HGSMIAREA));745 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = VBoxHGSMIIsSupported (PrimaryExtension); 746 VBoxVideoCmnMemZero(&hgsmiFromDeviceExt(PrimaryExtension)->areaHostHeap, sizeof(HGSMIAREA)); 747 747 VBoxVideoCmnMemZero(&PrimaryExtension->areaDisplay, sizeof(HGSMIAREA)); 748 748 749 if ( PrimaryExtension->u.primary.IOPortGuest == 0)750 { 751 PrimaryExtension->u.primary.bHGSMI = false;752 } 753 754 if ( PrimaryExtension->u.primary.bHGSMI)749 if (hgsmiFromDeviceExt(PrimaryExtension)->IOPortGuest == 0) 750 { 751 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = false; 752 } 753 754 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 755 755 { 756 756 /* Map the adapter information. It will be needed for HGSMI IO. */ … … 765 765 rc)); 766 766 767 PrimaryExtension->u.primary.bHGSMI = FALSE;767 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = FALSE; 768 768 } 769 769 else 770 770 { 771 771 /* Setup a HGSMI heap within the adapter information area. */ 772 rc = HGSMIHeapSetup (& PrimaryExtension->u.primary.hgsmiAdapterHeap,772 rc = HGSMIHeapSetup (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap, 773 773 PrimaryExtension->u.primary.pvAdapterInformation, 774 774 VBVA_ADAPTER_INFORMATION_SIZE - sizeof(HGSMIHOSTFLAGS), … … 781 781 rc)); 782 782 783 PrimaryExtension->u.primary.bHGSMI = FALSE;783 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = FALSE; 784 784 } 785 785 else … … 792 792 793 793 /* Setup the host heap and the adapter memory. */ 794 if ( PrimaryExtension->u.primary.bHGSMI)794 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 795 795 { 796 796 /* The miniport heap is used for the host buffers. */ … … 836 836 PrimaryExtension->u.primary.pvMiniportHeap = NULL; 837 837 PrimaryExtension->u.primary.cbMiniportHeap = 0; 838 PrimaryExtension->u.primary.bHGSMI = FALSE;838 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = FALSE; 839 839 } 840 840 else … … 845 845 846 846 /* Init the host hap area. Buffers from the host will be placed there. */ 847 HGSMIAreaInitialize (& PrimaryExtension->u.primary.areaHostHeap,847 HGSMIAreaInitialize (&hgsmiFromDeviceExt(PrimaryExtension)->areaHostHeap, 848 848 PrimaryExtension->u.primary.pvMiniportHeap, 849 849 PrimaryExtension->u.primary.cbMiniportHeap, … … 860 860 861 861 /* Check whether the guest supports multimonitors. */ 862 if ( PrimaryExtension->u.primary.bHGSMI)862 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 863 863 { 864 864 #ifndef VBOX_WITH_WDDM … … 939 939 #endif 940 940 941 if ( PrimaryExtension->u.primary.bHGSMI)941 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 942 942 { 943 943 /* Setup the information for the host. */ … … 946 946 if (RT_FAILURE (rc)) 947 947 { 948 PrimaryExtension->u.primary.bHGSMI = FALSE;948 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = FALSE; 949 949 } 950 950 } 951 951 952 952 #ifdef VBOX_WITH_WDDM 953 if ( PrimaryExtension->u.primary.bHGSMI)953 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 954 954 { 955 955 ULONG ulAvailable = PrimaryExtension->u.primary.cbVRAM … … 1040 1040 1041 1041 if (RT_FAILURE(rc)) 1042 PrimaryExtension->u.primary.bHGSMI = FALSE;1043 } 1044 #endif 1045 1046 if (! PrimaryExtension->u.primary.bHGSMI)1042 hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI = FALSE; 1043 } 1044 #endif 1045 1046 if (!hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 1047 1047 { 1048 1048 /* Unmap the memory if VBoxVideo is not supported. */ … … 1050 1050 VBoxUnmapAdapterInformation (PrimaryExtension); 1051 1051 1052 HGSMIHeapDestroy (& PrimaryExtension->u.primary.hgsmiAdapterHeap);1053 } 1054 1055 if ( PrimaryExtension->u.primary.bHGSMI)1052 HGSMIHeapDestroy (&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap); 1053 } 1054 1055 if (hgsmiFromDeviceExt(PrimaryExtension)->bHGSMI) 1056 1056 { 1057 1057 VBoxVideoCmnSpinLockCreate(PrimaryExtension, &PrimaryExtension->u.primary.pSynchLock); … … 1099 1099 */ 1100 1100 { 1101 HGSMIHeapDestroy(& PrimaryExtension->u.primary.hgsmiAdapterHeap);1101 HGSMIHeapDestroy(&hgsmiFromDeviceExt(PrimaryExtension)->hgsmiAdapterHeap); 1102 1102 1103 1103 /* Map the adapter information. It will be needed for HGSMI IO. */ … … 1369 1369 VBoxVideoHGSMIDpc(PrimaryExtension, NULL); 1370 1370 1371 HGSMICHANNEL * pChannel = HGSMIChannelFindById (& PrimaryExtension->u.primary.channels, u8Channel);1371 HGSMICHANNEL * pChannel = HGSMIChannelFindById (&hgsmiFromDeviceExt(PrimaryExtension)->channels, u8Channel); 1372 1372 if(pChannel) 1373 1373 { … … 1547 1547 { 1548 1548 VBVA_CHANNELCONTEXTS * pContexts; 1549 HGSMICHANNEL * pChannel = HGSMIChannelFindById (& PrimaryExtension->u.primary.channels, u8Channel);1549 HGSMICHANNEL * pChannel = HGSMIChannelFindById (&hgsmiFromDeviceExt(PrimaryExtension)->channels, u8Channel); 1550 1550 if(!pChannel) 1551 1551 { … … 1584 1584 if(!pChannel) 1585 1585 { 1586 rc = HGSMIChannelRegister (& PrimaryExtension->u.primary.channels,1586 rc = HGSMIChannelRegister (&hgsmiFromDeviceExt(PrimaryExtension)->channels, 1587 1587 u8Channel, 1588 1588 "VGA Miniport HGSMI channel", -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp
r32823 r32876 250 250 return &pDevExt->u.primary.Vdma.CmdHeap; 251 251 #endif 252 if (HGSMIAreaContainsOffset(& pDevExt->u.primary.hgsmiAdapterHeap.area, offCmd))253 return & pDevExt->u.primary.hgsmiAdapterHeap;252 if (HGSMIAreaContainsOffset(&hgsmiFromDeviceExt(pDevExt)->hgsmiAdapterHeap.area, offCmd)) 253 return &hgsmiFromDeviceExt(pDevExt)->hgsmiAdapterHeap; 254 254 return NULL; 255 255 } … … 270 270 return VBOXWDDM_HGSMICMD_TYPE_DMACMD; 271 271 #endif 272 if (HGSMIAreaContainsOffset(& pDevExt->u.primary.hgsmiAdapterHeap.area, offCmd))272 if (HGSMIAreaContainsOffset(&hgsmiFromDeviceExt(pDevExt)->hgsmiAdapterHeap.area, offCmd)) 273 273 return VBOXWDDM_HGSMICMD_TYPE_CTL; 274 274 return VBOXWDDM_HGSMICMD_TYPE_UNDEFINED; … … 403 403 if (VBoxHGSMIIsSupported (pContext)) 404 404 { 405 pContext->u.primary.IOPortHost = (RTIOPORT)VGA_PORT_HGSMI_HOST;406 pContext->u.primary.IOPortGuest = (RTIOPORT)VGA_PORT_HGSMI_GUEST;405 hgsmiFromDeviceExt(pContext)->IOPortHost = (RTIOPORT)VGA_PORT_HGSMI_HOST; 406 hgsmiFromDeviceExt(pContext)->IOPortGuest = (RTIOPORT)VGA_PORT_HGSMI_GUEST; 407 407 408 408 PCM_RESOURCE_LIST pRcList = pDeviceInfo->TranslatedResourceList; … … 572 572 */ 573 573 VBoxSetupDisplaysHGSMI(pContext, AdapterMemorySize); 574 if ( (pContext)->u.primary.bHGSMI)574 if (hgsmiFromDeviceExt(pContext)->bHGSMI) 575 575 { 576 576 drprintf(("VBoxVideoWddm: using HGSMI\n")); … … 784 784 { 785 785 /* read the command offset */ 786 HGSMIOFFSET offCmd = VBoxHGSMIGuestRead( pDevExt);786 HGSMIOFFSET offCmd = VBoxHGSMIGuestRead(hgsmiFromDeviceExt(pDevExt)); 787 787 Assert(offCmd != HGSMIOFFSET_VOID); 788 788 if (offCmd != HGSMIOFFSET_VOID) … … 801 801 case VBOXWDDM_HGSMICMD_TYPE_CTL: 802 802 pList = &CtlList; 803 pHeap = & pDevExt->u.primary.hgsmiAdapterHeap;803 pHeap = &hgsmiFromDeviceExt(pDevExt)->hgsmiAdapterHeap; 804 804 break; 805 805 default: … … 964 964 if (!vboxSHGSMIListIsEmpty(&context.data.CtlList)) 965 965 { 966 int rc = VBoxSHGSMICommandPostprocessCompletion (& pDevExt->u.primary.hgsmiAdapterHeap, &context.data.CtlList);966 int rc = VBoxSHGSMICommandPostprocessCompletion (&hgsmiFromDeviceExt(pDevExt)->hgsmiAdapterHeap, &context.data.CtlList); 967 967 AssertRC(rc); 968 968 }
Note:
See TracChangeset
for help on using the changeset viewer.