- Hack around a strange registry-related bug (we created the whole registry path previously but it won't let us open it without the correct volatile option) to fix devices enumerated via IoReportDetectedDevice
svn path=/trunk/; revision=53255
- Rewrite IopIsAcpiComputer (and rename to IopIsFirmwareMapperDisabled) to eliminate the need for the ENABLE_ACPI define
- IopIsFirmwareMapperDisabled now reads the registry entry that HAL sets to indicate that the firmware mapper should be disabled
- Partially rewrite IopUpdateRootKey so it does not interfere with HAL's PnP driver
- ACPI is automatically enabled when the ACPI HAL is loaded and disabled when the standard HAL is loaded
svn path=/trunk/; revision=53249
- Fix NULL termination of strings in IoGetDeviceProperty
- Fixes garbage displayed in the Enumerator field of the device manager property page
svn path=/trunk/; revision=53232
* Don't include the whole NDK for just one header.
* This allows us to depend on 49 headers less, and it shrinks the PCH by 2MB.
svn path=/trunk/; revision=53217
Fix and EnumDependentServices[A/W]:
- If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS/W) pass a pointer to an internal status buffer to REnumDependentServicesA/W.
svn path=/trunk/; revision=53214
- Store the correct buffer size for requests that aren't satisfied via the registry
- Fixes displaying the enumerator on the device manager property page
svn path=/trunk/; revision=53212
- OkToClose procedure (OB_OKAYTOCLOSE_METHOD) returns BOOLEAN, not NTSTATUS
- Check ppi for NULL before dereferencing it in IntWinstaOkToClose (it is NULL, if we do our job of cleaning up the win32 process properly)
- Set the win32 process info to NULL on process cleanup
- Free THREADINFO and PROCESSINFO instead of leaking them
- Set NULL cursor, when the last thread is cleaned up in win32k, so we don't call UserSetCursor() in the process cleanup, when we don't have a THREADINFO anymore. This should hopefully fix a crash of MSVC builds.
- Remove unused UserGetNextHandle function
- Fix some warnings
svn path=/trunk/; revision=53211
Fix EnumServiceGroupW and EnumServiceStatus[A/W]:
- If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS/W) pass a pointer to an internal status buffer to REnumServiceGrouW or REnumServiceStatusA/W.
svn path=/trunk/; revision=53210
Partly sync static.c with wine, reduce diff between ros and wine code. The leak fix is taken care of. Also go back from Get/SetWindowLongPtr to Get/SetWindowLong for LONG values. Using the *Ptr version is wrong for LONG values!
svn path=/trunk/; revision=53204
- Display the loading message for drivers loaded by the PnP manager during boot
- Maybe now NDIS.SYS won't get all the blame for boot hangs ;)
svn path=/trunk/; revision=53203
Fix QueryServiceConfigEx[A/W]:
- If lpServiceConfig is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_CONFIGA/W) pass a pointer to an internal status buffer to RQueryServiceConfigA/W.
- Revert r53153 and r53154. Adding 'in' and 'unique' attributes is NOT an option because this is not compatible with Windows.
svn path=/trunk/; revision=53202
Fix EnumServicesStatusEx[A/W]:
- If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS_PROCESS) pass a pointer to an internal status buffer to REnumServicesStatusExA/W. Adding 'in' and 'unique' attributes in the idl file is NOT an option because this is not compatible with Windows.
- Check the InfoLevel.
svn path=/trunk/; revision=53201