ULONG CsrssInitialized = FALSE;
PKPROCESS Csrss = NULL;
ULONG VideoPortDeviceNumber = 0;
+KMUTEX VideoPortInt10Mutex;
/* PRIVATE FUNCTIONS **********************************************************/
{
WCHAR DeviceVideoBuffer[20];
PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension;
- SIZE_T Size;
NTSTATUS Status;
VIDEO_PORT_CONFIG_INFO ConfigInfo;
SYSTEM_BASIC_INFORMATION SystemBasicInfo;
ConfigInfo.BusInterruptLevel = DeviceExtension->InterruptLevel;
ConfigInfo.BusInterruptVector = DeviceExtension->InterruptVector;
- Size = sizeof(SystemBasicInfo);
Status = ZwQuerySystemInformation(SystemBasicInformation,
&SystemBasicInfo,
- Size,
- &Size);
+ sizeof(SystemBasicInfo),
+ NULL);
if (NT_SUCCESS(Status))
{
ConfigInfo.SystemMemorySize = SystemBasicInfo.NumberOfPhysicalPages *
NTSTATUS Status;
PVIDEO_PORT_DRIVER_EXTENSION DriverExtension;
BOOLEAN PnpDriver = FALSE, LegacyDetection = FALSE;
+ static BOOLEAN Int10MutexInitialized;
TRACE_(VIDEOPRT, "VideoPortInitialize\n");
+ if (!Int10MutexInitialized)
+ {
+ KeInitializeMutex(&VideoPortInt10Mutex, 0);
+ Int10MutexInitialized = TRUE;
+ }
+
/* As a first thing do parameter checks. */
if (HwInitializationData->HwInitDataSize > sizeof(VIDEO_HW_INITIALIZATION_DATA))
{