Author: hpoussin Date: Tue Apr 11 17:00:08 2006 New Revision: 21548
URL: http://svn.reactos.ru/svn/reactos?rev=21548&view=rev Log: Add more documentation about ntoskrnl/io/pnpmgr.c
Modified: trunk/documentation/audit/ntoskrnl/io/pnpmgr.txt
Modified: trunk/documentation/audit/ntoskrnl/io/pnpmgr.txt URL: http://svn.reactos.ru/svn/reactos/trunk/documentation/audit/ntoskrnl/io/pnpm... ============================================================================== --- trunk/documentation/audit/ntoskrnl/io/pnpmgr.txt (original) +++ trunk/documentation/audit/ntoskrnl/io/pnpmgr.txt Tue Apr 11 17:00:08 2006 @@ -11,8 +11,11 @@ Result: Clean (<5 lines)
IopQueryDeviceCapabilities() -Info: Google reports only references to ReactOS's source code, no results in msdn search too -Result: Author needs to be contacted, however function implementation seems to be rather small and has a few comments +Info: + Google reports only references to ReactOS's source code, no results in msdn search too. + IRP_MN_QUERY_CAPABILITIES and DEVICE_CAPABILITIES structure are described here: http://www.osronline.com/DDKx/kmarch/k112_22r6.htm + Uses IopInitiatePnpIrp to send the IRP_MJ_PNP Irp +Result: Clean
IoInvalidateDeviceRelations() Result: Clean (<5 lines) @@ -34,8 +37,10 @@ Result: <5 lines of actual code -> Clean
IopGetBusTypeGuidIndex() -Info: Only ReactOS source code got in results of Google search. Function is heavily commented. There is a goto usage, however it's obvious and doesn't seem to come - from reverse engineering. +Info: + Searches BusTypeGuid entry in the IopBusTypeGuidList list. If it is not found, create a new entry in the list and return its index + Only ReactOS source code got in results of Google search. Function is heavily commented. There is a goto usage, however it's obvious and doesn't seem to come + from reverse engineering. Result: ?
IopCreateDeviceNode() / IopFreeDeviceNode() @@ -43,8 +48,11 @@ Result: ?
IopInitiatePnpIrp() -Info: Google finds only ReactOS results. I haven't checked other information sources -Result: ? +Info: + Google finds only ReactOS results. + Sends a IRP_MJ_PNP Irp to a device stack. + Method to send a synchronous Irp is well documented on the Web, and all used methods are documented +Result: Clean
IopTraverseDeviceTreeNode() / IopTraverseDeviceTree() Info: Google finds only ReactOS results. I haven't checked other information sources @@ -59,16 +67,25 @@ Result: ?
IopAssignDeviceResources() -Info: Google finds only ReactOS results. I haven't checked other information sources. This function seems to be absolutely ReactOS-specific (especially the irq-hacks/etc) -Result: Probably Clean? +Info: + Google finds only ReactOS results. + Creates a allocated resource list by using the resource requirements list. It doesn't do resource arbitration. + Structures are documented at http://www.osronline.com/DDKx/kmarch/k112_5quq.htm and http://www.osronline.com/DDKx/kmarch/k112_92k2.htm + There is a goto usage, to prevent duplication of resources cleanup code +Result: Clean
IopGetParentIdPrefix() -Info: Google finds only ReactOS results. I haven't checked other information sources -Result: ? +Info: + Google finds only ReactOS results. + Creates a prefix for the device instance string, when it may be not unique on the whole computer. + The prefix is the crc32 of the instance path of the parent device node. +Result: Clean
IopActionInterrogateDeviceStack() -Info: Google finds only ReactOS results. I haven't checked other information sources -Result: ? +Info: + Google finds only ReactOS results. I haven't checked other information sources + Sends lots of IRP_MJ_PNP Irps to fill the device node structure +Result: Probably clean
IopActionConfigureChildServices() / IopActionInitChildServices() Info: Google finds only ReactOS results. I haven't checked other information sources @@ -84,7 +101,7 @@ Result: Clean (<5 LOC)
IopInvalidateDeviceRelations() -Info: hpoussin worked on it, and also I remember there are sources of documentation for it +Info: Fireball remembers there are sources of documentation for it Result: probably Clean
IopSetRootDeviceInstanceData()