Changeset 32930 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoMisc.cpp
- Timestamp:
- Oct 5, 2010 8:12:46 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66416
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoMisc.cpp
r32889 r32930 511 511 const WCHAR* pKeyPrefix; 512 512 UINT cbKeyPrefix; 513 UNICODE_STRING* pVGuid = vboxWddmVGuidGet(pDevExt); 514 Assert(pVGuid); 515 if (!pVGuid) 516 return STATUS_UNSUCCESSFUL; 517 513 518 winVersion_t ver = vboxQueryWinVersion(); 514 519 if (ver == WINVISTA) … … 524 529 } 525 530 526 ULONG cbResult = cbKeyPrefix + p DevExt->VideoGuid.Length + 2 + 8; // L"\\" + "XXXX"531 ULONG cbResult = cbKeyPrefix + pVGuid->Length + 2 + 8; // L"\\" + "XXXX" 527 532 if (cbBuf >= cbResult) 528 533 { 529 534 wcscpy(pBuf, pKeyPrefix); 530 535 pSuffix = pBuf + (cbKeyPrefix-2)/2; 531 memcpy(pSuffix, p DevExt->VideoGuid.Buffer, pDevExt->VideoGuid.Length);532 pSuffix += p DevExt->VideoGuid.Length/2;536 memcpy(pSuffix, pVGuid->Buffer, pVGuid->Length); 537 pSuffix += pVGuid->Length/2; 533 538 pSuffix[0] = L'\\'; 534 539 pSuffix += 1; … … 757 762 sizeof(val)); 758 763 } 764 765 UNICODE_STRING* vboxWddmVGuidGet(PDEVICE_EXTENSION pDevExt) 766 { 767 if (pDevExt->VideoGuid.Buffer) 768 return &pDevExt->VideoGuid; 769 770 Assert(KeGetCurrentIrql() == PASSIVE_LEVEL); 771 WCHAR VideoGuidBuf[512]; 772 ULONG cbVideoGuidBuf = sizeof (VideoGuidBuf); 773 NTSTATUS Status = vboxWddmRegQueryVideoGuidString(cbVideoGuidBuf, VideoGuidBuf, &cbVideoGuidBuf); 774 Assert(Status == STATUS_SUCCESS); 775 if (Status == STATUS_SUCCESS) 776 { 777 PWCHAR pBuf = (PWCHAR)vboxWddmMemAllocZero(cbVideoGuidBuf); 778 Assert(pBuf); 779 if (pBuf) 780 { 781 memcpy(pBuf, VideoGuidBuf, cbVideoGuidBuf); 782 RtlInitUnicodeString(&pDevExt->VideoGuid, pBuf); 783 return &pDevExt->VideoGuid; 784 } 785 } 786 787 return NULL; 788 } 789 790 VOID vboxWddmVGuidFree(PDEVICE_EXTENSION pDevExt) 791 { 792 if (pDevExt->VideoGuid.Buffer) 793 { 794 vboxWddmMemFree(pDevExt->VideoGuid.Buffer); 795 pDevExt->VideoGuid.Buffer = NULL; 796 } 797 }
Note:
See TracChangeset
for help on using the changeset viewer.