mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 00:13:57 +00:00
[VMX_SVGA]
Convert a pointer to a WCHAR string to an array of WCHARs to fix sizeof calculation. CID 10404 svn path=/trunk/; revision=50148
This commit is contained in:
parent
08d8df3975
commit
9db755b143
|
@ -14,7 +14,7 @@
|
||||||
/* GLOBALS ********************************************************************/
|
/* GLOBALS ********************************************************************/
|
||||||
|
|
||||||
PHW_DEVICE_EXTENSION VmxDeviceExtensionArray[SVGA_MAX_DISPLAYS];
|
PHW_DEVICE_EXTENSION VmxDeviceExtensionArray[SVGA_MAX_DISPLAYS];
|
||||||
static PWCHAR AdapterString = L"VMware SVGA II";
|
static WCHAR AdapterString[] = L"VMware SVGA II";
|
||||||
|
|
||||||
/* FUNCTIONS ******************************************************************/
|
/* FUNCTIONS ******************************************************************/
|
||||||
|
|
||||||
|
@ -64,17 +64,17 @@ NTAPI
|
||||||
VmxIsMultiMon(IN PHW_DEVICE_EXTENSION DeviceExtension)
|
VmxIsMultiMon(IN PHW_DEVICE_EXTENSION DeviceExtension)
|
||||||
{
|
{
|
||||||
ULONG Capabilities;
|
ULONG Capabilities;
|
||||||
|
|
||||||
/* Get the caps */
|
/* Get the caps */
|
||||||
Capabilities = DeviceExtension->Capabilities;
|
Capabilities = DeviceExtension->Capabilities;
|
||||||
|
|
||||||
/* Check for multi-mon support */
|
/* Check for multi-mon support */
|
||||||
if ((Capabilities & SVGA_CAP_MULTIMON) && (Capabilities & SVGA_CAP_PITCHLOCK))
|
if ((Capabilities & SVGA_CAP_MULTIMON) && (Capabilities & SVGA_CAP_PITCHLOCK))
|
||||||
{
|
{
|
||||||
/* Query the monitor count */
|
/* Query the monitor count */
|
||||||
if (VmxReadUlong(DeviceExtension, SVGA_REG_NUM_DISPLAYS) > 1) return TRUE;
|
if (VmxReadUlong(DeviceExtension, SVGA_REG_NUM_DISPLAYS) > 1) return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Either no support, or just one screen */
|
/* Either no support, or just one screen */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -90,10 +90,10 @@ VmxFindAdapter(IN PVOID HwDeviceExtension,
|
||||||
VP_STATUS Status;
|
VP_STATUS Status;
|
||||||
PHW_DEVICE_EXTENSION DeviceExtension = HwDeviceExtension;
|
PHW_DEVICE_EXTENSION DeviceExtension = HwDeviceExtension;
|
||||||
DPRINT1("VMX searching for adapter\n");
|
DPRINT1("VMX searching for adapter\n");
|
||||||
|
|
||||||
/* Zero out the fields */
|
/* Zero out the fields */
|
||||||
VideoPortZeroMemory(DeviceExtension, sizeof(HW_DEVICE_EXTENSION));
|
VideoPortZeroMemory(DeviceExtension, sizeof(HW_DEVICE_EXTENSION));
|
||||||
|
|
||||||
/* Validate the Config Info */
|
/* Validate the Config Info */
|
||||||
if (ConfigInfo->Length < sizeof(VIDEO_PORT_CONFIG_INFO))
|
if (ConfigInfo->Length < sizeof(VIDEO_PORT_CONFIG_INFO))
|
||||||
{
|
{
|
||||||
|
@ -101,21 +101,21 @@ VmxFindAdapter(IN PVOID HwDeviceExtension,
|
||||||
DPRINT1("Invalid configuration info\n");
|
DPRINT1("Invalid configuration info\n");
|
||||||
return ERROR_INVALID_PARAMETER;
|
return ERROR_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize the device extension and find the adapter */
|
/* Initialize the device extension and find the adapter */
|
||||||
Status = VmxInitDevice(DeviceExtension);
|
Status = VmxInitDevice(DeviceExtension);
|
||||||
DPRINT1("Init status: %lx\n", Status);
|
DPRINT1("Init status: %lx\n", Status);
|
||||||
if (Status != NO_ERROR) return ERROR_DEV_NOT_EXIST;
|
if (Status != NO_ERROR) return ERROR_DEV_NOT_EXIST;
|
||||||
|
|
||||||
/* Save this adapter extension */
|
/* Save this adapter extension */
|
||||||
VmxDeviceExtensionArray[0] = DeviceExtension;
|
VmxDeviceExtensionArray[0] = DeviceExtension;
|
||||||
|
|
||||||
/* Create the sync event */
|
/* Create the sync event */
|
||||||
VideoPortCreateEvent(DeviceExtension,
|
VideoPortCreateEvent(DeviceExtension,
|
||||||
NOTIFICATION_EVENT,
|
NOTIFICATION_EVENT,
|
||||||
NULL,
|
NULL,
|
||||||
&DeviceExtension->SyncEvent);
|
&DeviceExtension->SyncEvent);
|
||||||
|
|
||||||
/* Check for multi-monitor configuration */
|
/* Check for multi-monitor configuration */
|
||||||
if (VmxIsMultiMon(DeviceExtension))
|
if (VmxIsMultiMon(DeviceExtension))
|
||||||
{
|
{
|
||||||
|
@ -123,14 +123,14 @@ VmxFindAdapter(IN PVOID HwDeviceExtension,
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
while (TRUE);
|
while (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Zero the frame buffer */
|
/* Zero the frame buffer */
|
||||||
VideoPortZeroMemory((PVOID)DeviceExtension->FrameBuffer.LowPart,
|
VideoPortZeroMemory((PVOID)DeviceExtension->FrameBuffer.LowPart,
|
||||||
DeviceExtension->VramSize.LowPart);
|
DeviceExtension->VramSize.LowPart);
|
||||||
|
|
||||||
/* Initialize the video modes */
|
/* Initialize the video modes */
|
||||||
VmxInitModes(DeviceExtension);
|
VmxInitModes(DeviceExtension);
|
||||||
|
|
||||||
/* Setup registry keys */
|
/* Setup registry keys */
|
||||||
VideoPortSetRegistryParameters(DeviceExtension,
|
VideoPortSetRegistryParameters(DeviceExtension,
|
||||||
L"HardwareInformation.ChipType",
|
L"HardwareInformation.ChipType",
|
||||||
|
@ -152,7 +152,7 @@ VmxFindAdapter(IN PVOID HwDeviceExtension,
|
||||||
L"HardwareInformation.BiosString",
|
L"HardwareInformation.BiosString",
|
||||||
AdapterString,
|
AdapterString,
|
||||||
sizeof(AdapterString));
|
sizeof(AdapterString));
|
||||||
|
|
||||||
/* No VDM support */
|
/* No VDM support */
|
||||||
ConfigInfo->NumEmulatorAccessEntries = 0;
|
ConfigInfo->NumEmulatorAccessEntries = 0;
|
||||||
ConfigInfo->EmulatorAccessEntries = 0;
|
ConfigInfo->EmulatorAccessEntries = 0;
|
||||||
|
@ -160,7 +160,7 @@ VmxFindAdapter(IN PVOID HwDeviceExtension,
|
||||||
ConfigInfo->HardwareStateSize = 0;
|
ConfigInfo->HardwareStateSize = 0;
|
||||||
ConfigInfo->VdmPhysicalVideoMemoryAddress.QuadPart = 0;
|
ConfigInfo->VdmPhysicalVideoMemoryAddress.QuadPart = 0;
|
||||||
ConfigInfo->VdmPhysicalVideoMemoryLength = 0;
|
ConfigInfo->VdmPhysicalVideoMemoryLength = 0;
|
||||||
|
|
||||||
/* Write that this is Windows XP or higher */
|
/* Write that this is Windows XP or higher */
|
||||||
VmxWriteUlong(DeviceExtension, SVGA_REG_GUEST_ID, 0x5000 | 0x08);
|
VmxWriteUlong(DeviceExtension, SVGA_REG_GUEST_ID, 0x5000 | 0x08);
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
|
@ -252,7 +252,7 @@ DriverEntry(IN PVOID Context1,
|
||||||
DPRINT1("VMX-SVGAII Loading...\n");
|
DPRINT1("VMX-SVGAII Loading...\n");
|
||||||
VideoPortZeroMemory(VmxDeviceExtensionArray, sizeof(VmxDeviceExtensionArray));
|
VideoPortZeroMemory(VmxDeviceExtensionArray, sizeof(VmxDeviceExtensionArray));
|
||||||
VideoPortZeroMemory(&InitData, sizeof(InitData));
|
VideoPortZeroMemory(&InitData, sizeof(InitData));
|
||||||
|
|
||||||
/* Setup the initialization structure with VideoPort */
|
/* Setup the initialization structure with VideoPort */
|
||||||
InitData.HwInitDataSize = sizeof(VIDEO_HW_INITIALIZATION_DATA);
|
InitData.HwInitDataSize = sizeof(VIDEO_HW_INITIALIZATION_DATA);
|
||||||
InitData.HwFindAdapter = VmxFindAdapter;
|
InitData.HwFindAdapter = VmxFindAdapter;
|
||||||
|
|
Loading…
Reference in a new issue