Index: ntoskrnl/io/iomgr/device.c =================================================================== --- ntoskrnl/io/iomgr/device.c (révision 57783) +++ ntoskrnl/io/iomgr/device.c (copie de travail) @@ -275,12 +275,14 @@ OBJ_KERNEL_HANDLE, NULL, NULL); + DPRINT1("IopGetDeviceObjectPointer - calling ZwOpenFile\n"); Status = ZwOpenFile(&FileHandle, DesiredAccess, &ObjectAttributes, &StatusBlock, 0, FILE_NON_DIRECTORY_FILE | AttachFlag); + DPRINT1("IopGetDeviceObjectPointer - ZwOpenFile returned Status = %lu\n", Status); if (!NT_SUCCESS(Status)) return Status; /* Get File Object */ Index: ntoskrnl/io/iomgr/file.c =================================================================== --- ntoskrnl/io/iomgr/file.c (révision 57783) +++ ntoskrnl/io/iomgr/file.c (copie de travail) @@ -1846,6 +1846,7 @@ * status, which is in the Open Packet's Final Status, and determined * by the Parse Check member. */ + DPRINT1("IoCreateFile - calling ObOpenObjectByName\n"); Status = ObOpenObjectByName(ObjectAttributes, NULL, AccessMode, @@ -1853,6 +1854,7 @@ DesiredAccess, &OpenPacket, &LocalHandle); + DPRINT1("IoCreateFile - ObOpenObjectByName returned Status = %lu\n", Status); /* Free the EA Buffer */ if (OpenPacket.EaBuffer) ExFreePool(OpenPacket.EaBuffer); Index: ntoskrnl/ob/obhandle.c =================================================================== --- ntoskrnl/ob/obhandle.c (révision 57783) +++ ntoskrnl/ob/obhandle.c (copie de travail) @@ -2500,6 +2500,7 @@ goto Cleanup; } + DPRINT1("ObOpenObjectByName - calling ObpLookupObjectName\n"); /* Now do the lookup */ Status = ObpLookupObjectName(TempBuffer->ObjectCreateInfo.RootDirectory, &ObjectName, @@ -2512,6 +2513,7 @@ PassedAccessState, &TempBuffer->LookupContext, &Object); + DPRINT1("ObOpenObjectByName - ObpLookupObjectName returned Status = %lu\n", Status); if (!NT_SUCCESS(Status)) { /* Cleanup after lookup */ Index: ntoskrnl/vdm/vdmmain.c =================================================================== --- ntoskrnl/vdm/vdmmain.c (révision 57783) +++ ntoskrnl/vdm/vdmmain.c (copie de travail) @@ -48,6 +48,8 @@ UCHAR KeyValueInfo[sizeof(KEY_VALUE_BASIC_INFORMATION) + 30]; ULONG ReturnLength; + DPRINT1("Enter KeI386VdmInitialize\n"); + /* Make sure that there is a WOW key */ RtlInitUnicodeString(&Name, L"\\Registry\\Machine\\System\\CurrentControlSet\\" @@ -74,6 +76,7 @@ if (KeGetPcr()->Prcb->FeatureBits & KF_V86_VIS) { /* Enable them. FIXME: Use IPI */ + DPRINT1("KeI386VdmInitialize - KeI386VirtualIntExtensions = TRUE\n"); Ki386VdmEnablePentiumExtentions(TRUE); KeI386VirtualIntExtensions = TRUE; } Index: win32ss/gdi/eng/device.c =================================================================== --- win32ss/gdi/eng/device.c (révision 57783) +++ win32ss/gdi/eng/device.c (copie de travail) @@ -9,7 +9,7 @@ #include -#define NDEBUG +//#define NDEBUG #include PGRAPHICS_DEVICE gpPrimaryGraphicsDevice; @@ -63,8 +63,10 @@ DPRINT1("ExAllocatePoolWithTag failed\n"); return NULL; } + DPRINT1("EngpRegisterGraphicsDevice - ExAllocatePoolWithTag succeeded, pGraphicsDevice = 0x%p\n", pGraphicsDevice); /* Try to open the driver */ + DPRINT1("EngpRegisterGraphicsDevice - calling IoGetDeviceObjectPointer(%wZ, ..., address_of_(pFileObject = 0x%p), address_of_(pDeviceObject = 0x%p)\n", pustrDeviceName, pFileObject, pDeviceObject); Status = IoGetDeviceObjectPointer(pustrDeviceName, FILE_READ_DATA | FILE_WRITE_DATA, &pFileObject, @@ -75,8 +77,10 @@ ExFreePoolWithTag(pGraphicsDevice, GDITAG_GDEVICE); return NULL; } + DPRINT1("EngpRegisterGraphicsDevice - IoGetDeviceObjectPointer succeeded, Status = %lu\n", Status); /* Enable the device */ + DPRINT("EngpRegisterGraphicsDevice - calling EngFileWrite\n"); EngFileWrite(pFileObject, &bEnable, sizeof(BOOL), &cj); /* Copy the device and file object pointers */ @@ -91,6 +95,7 @@ /* Create a win device name (FIXME: virtual devices!) */ swprintf(pGraphicsDevice->szWinDeviceName, L"\\\\.\\DISPLAY%d", (int)giDevNum); + DPRINT("EngpRegisterGraphicsDevice - pGraphicsDevice->szWinDeviceName = '%S'\n", pGraphicsDevice->szWinDeviceName); /* Allocate a buffer for the strings */ cj = pustrDiplayDrivers->Length + pustrDescription->Length + sizeof(WCHAR); @@ -103,18 +108,21 @@ return NULL; } + DPRINT("EngpRegisterGraphicsDevice - ckeckpt 1\n"); /* Copy display driver names */ pGraphicsDevice->pDiplayDrivers = pwsz; RtlCopyMemory(pGraphicsDevice->pDiplayDrivers, pustrDiplayDrivers->Buffer, pustrDiplayDrivers->Length); + DPRINT("EngpRegisterGraphicsDevice - ckeckpt 2\n"); /* Copy description */ pGraphicsDevice->pwszDescription = pwsz + pustrDiplayDrivers->Length / sizeof(WCHAR); RtlCopyMemory(pGraphicsDevice->pwszDescription, pustrDescription->Buffer, pustrDescription->Length + sizeof(WCHAR)); + DPRINT("EngpRegisterGraphicsDevice - ckeckpt 3\n"); /* Initialize the pdevmodeInfo list and default index */ pGraphicsDevice->pdevmodeInfo = NULL; pGraphicsDevice->iDefaultMode = 0; @@ -216,6 +224,7 @@ } } + DPRINT("EngpRegisterGraphicsDevice - ckeckpt 3\n"); /* Lock loader */ EngAcquireSemaphore(ghsemGraphicsDeviceList); Index: win32ss/user/ntuser/display.c =================================================================== --- win32ss/user/ntuser/display.c (révision 57783) +++ win32ss/user/ntuser/display.c (copie de travail) @@ -86,6 +86,8 @@ return NULL; } + ERR("InitDisplayDriver - Checkpt 1\n"); + /* Query the diplay drivers */ cbSize = sizeof(awcBuffer) - 10; Status = RegQueryValue(hkey, @@ -109,6 +111,8 @@ ustrDescription.Buffer = awcBuffer + (cbSize / sizeof(WCHAR)); cbSize = sizeof(awcBuffer) - cbSize; + ERR("InitDisplayDriver - Checkpt 2\n"); + /* Query the device string */ Status = RegQueryValue(hkey, L"Device Description", @@ -136,6 +140,8 @@ /* Close the registry key */ ZwClose(hkey); + ERR("InitDisplayDriver - Checkpt 3\n"); + /* Register the device with GDI */ RtlInitUnicodeString(&ustrDeviceName, pwszDeviceName); pGraphicsDevice = EngpRegisterGraphicsDevice(&ustrDeviceName, @@ -147,6 +153,8 @@ pGraphicsDevice->StateFlags |= DISPLAY_DEVICE_VGA_COMPATIBLE; } + ERR("InitDisplayDriver - Checkpt 4\n"); + return pGraphicsDevice; } @@ -162,7 +170,7 @@ ULONG cbValue; HKEY hkey; - TRACE("----------------------------- InitVideo() -------------------------------\n"); + ERR("----------------------------- InitVideo() -------------------------------\n"); /* Open the key for the boot command line */ Status = RegOpenKey(L"\\REGISTRY\\MACHINE\\SYSTEM\\CurrentControlSet\\Control", &hkey); @@ -224,6 +232,7 @@ } /* Initialize the driver for this device */ + ERR("InitVideo - calling InitDisplayDriver\n"); pGraphicsDevice = InitDisplayDriver(awcDeviceName, awcBuffer); if (!pGraphicsDevice) continue; @@ -279,6 +288,7 @@ } } + ERR("InitVideo - calling InitSysParams\n"); InitSysParams(); return 1; Index: win32ss/user/ntuser/ntuser.c =================================================================== --- win32ss/user/ntuser/ntuser.c (révision 57783) +++ win32ss/user/ntuser/ntuser.c (copie de travail) @@ -109,8 +109,14 @@ if (!NT_SUCCESS(Status)) return Status; /* Initialize Video. */ + ERR("UserInitialize - calling InitVideo\n"); Status = InitVideo(); - if (!NT_SUCCESS(Status)) return Status; + if (!NT_SUCCESS(Status)) + { + ERR("UserInitialize - failed when calling InitVideo, Status = %lu\n", Status); + return Status; + } + ERR("UserInitialize - calling InitVideo succeeded, Status = %lu\n", Status); // { // DrvInitConsole.