Difference between revisions of "Gopher"
Alex Ionescu (talk | contribs) (→PipProcessRestartPhase2 =) |
Alex Ionescu (talk | contribs) (→PipCallDriverAddDeviceQueryRoutine =) |
||
Line 149: | Line 149: | ||
==== PipCallDriverAddDevice ==== | ==== PipCallDriverAddDevice ==== | ||
− | ===== PipCallDriverAddDeviceQueryRoutine | + | ===== PipCallDriverAddDeviceQueryRoutine ===== |
==== PipProcessStartPhase1 ==== | ==== PipProcessStartPhase1 ==== |
Revision as of 15:13, 12 October 2008
Gopher is the code name for a new PnP layer for ReactOS 0.4.0
This page contains documentation on the implementation of Gopher as based on the Windows 2003 SP1 PnP Manager
Contents
- 1 Gopher Startup
- 2 Loading Boot Drivers
- 3 Loading System Drivers
- 4 Device Nodes
- 4.1 Device Node Management Functions
- 4.2 Device Node Problems
- 4.3 Device Node State
- 4.4 Instance Paths
- 4.5 Registration
- 4.6 Requests
- 4.7 Processing Device Nodes
- 4.7.1 PipProcessDevNodeTree
- 4.7.1.1 PipAssertDevnodesInConsistentState
- 4.7.1.2 PiProcessNewDeviceNode
- 4.7.1.3 PipCallDriverAddDevice
- 4.7.1.4 PipProcessStartPhase1
- 4.7.1.5 PipProcessStartPhase2
- 4.7.1.6 PipProcessStartPhase3
- 4.7.1.7 PipEnumerateDevice
- 4.7.1.8 PipEnumerateCompleted
- 4.7.1.9 PipProcessRestartPhase1
- 4.7.1.10 PipProcessRestartPhase2
- 4.7.1 PipProcessDevNodeTree
- 5 Firmware Mapper
- 6 User-Initiated Driver Loading
- 7 Helper Routines
- 8 I/O Manager Backend
Gopher Startup
IopInitializePlugPlayServices
PiInitCacheGroupInformation
PpInitSystem
PiInitPhase0
PiInitPhase1
Loading Boot Drivers
IopInitializeBootDrivers
PpInitGetGroupOrderIndex
PipGetDriverTagPriority
PipLookupGroupName
PipCheckDependencies
PipAddDevicesToBootDriver
PipAddDevicesToBootDriverWorker
Loading System Drivers
Registry Support
CmpFindTagIndex
CmpAddDriverToList
CmpIsLoadType
CmpDoSort
CmpSortDriverList
CmpOrderGroup
CmpResolveDriverDependencies
Device Nodes
Device Node Management Functions
PipAllocateDeviceNode
PpDevNodeInsertIntoTree
PpDevNodeRemoveFromTree
PpDevNodeLockTree
PpDevNodeUnlockTree
PpDevNodeAssertLockLevel
IopDestroyDeviceNode
Device Node Problems
PipSetDevNodeProblem
Device Node State
Instance Paths
Creation and Components
Building and Querying IDs
PnpQueryId
PnpQueryDeviceId
Managing the Instance Path
Buffer Management
PnpAllocateDeviceInstancePath
PnpFreeDeviceInstancePath
Device Object to Device Instance Mapping
PnpDeviceObjectToDeviceInstance
PnpDeviceObjectFromDeviceInstance
PnpMapDeviceObjectToDeviceInstance
AVL Mapping Tree
PpInitializeDeviceReferenceTable
PnpCompareInstancePath
PnpAllocateGenericTableEntry
PnpFreeGenericTableEntry
Registration
PiFindDevInstMatch
PiProcessDriverInstance
PiRearrangeDeviceInstances
Requests
PipRequestDeviceAction
DEVICE_REQUEST_TYPE
PI_DEVICE_REQUEST
Processing Device Nodes
PipProcessDevNodeTree
PipAssertDevnodesInConsistentState
PiProcessNewDeviceNode
PiBuildDeviceNodeInstancePath
PiCreateDeviceInstanceKey
PiQueryResourceRequirements
PnpQueryBusInformation
PiQueryAndAllocateBootResources
PipMakeGloballyUniqueId
PnpSaveDeviceCapabilities
PipCallDriverAddDevice
PipCallDriverAddDeviceQueryRoutine
PipProcessStartPhase1
PipProcessStartPhase2
PipProcessStartPhase3
PipEnumerateDevice
PipEnumerateCompleted
PipProcessRestartPhase1
PipProcessRestartPhase2
Firmware Mapper
User-Initiated Driver Loading
Helper Routines
Registry String Management
PnpFreeUnicodeStringList
PnpRegMultiSzToUnicodeStrings
PnpRegSzToString
Unicode String Management
IopAllocateUnicodeString
PipConcatenateUnicodeStrings
=== IopFreeUnicodeString