-
Video miniport driver initialization occurs after the NT kernel, HAL, and core drivers, such as the PCI bus driver, are loaded and initialized. The basic system initialization sequence occurs as follows:
-
(视频小端口驱动初始化流程:)
-
-
The NT kernel and HAL are loaded and initialized.
-
1.(NT内核, HAL加载和初始化)
-
-
Core drivers such as the PCI bus driver are loaded and initialized.
-
2.(核心驱动(例如PCI总线驱动)加载和初始化)
-
-
The PCI bus driver obtains PCI resource information and the device ID and vendor ID from each of its children's PCI configuration spaces and reports this information back to the system.
-
3.(PCI总线驱动获取PCI资源信息、设备ID、厂商ID并返回给系统)
-
-
If the PnP manager recognizes the device and vendor IDs, the I/O manager loads the corresponding video miniport driver and the video port driver from a known location. If the PnP manager does not recognize the IDs, it prompts the user for the location of the miniport driver and loads it from this location.
-
4.(热插拔管理器识别设备和厂商ID,I/O管理器从已知的位置加载对应的视频小端口驱动和视频端口驱动。如果热插拔管理器不能识别IDs,则提示用户安装驱动)
-
-
The I/O manager calls the miniport driver's DriverEntry routine with two system-supplied input pointers. DriverEntry allocates and initializes a VIDEO_HW_INITIALIZATION_DATA structure with driver-specific and adapter-specific values, including pointers to the miniport driver's other entry points. DriverEntry must also claim any legacy resources, which are those resources not listed in the device's PCI configuration space but that are decoded by the device. See Claiming Legacy Resources for details.
-
5.(I/O管理器调用小端口驱动的DriverEntry函数,输入参数2个。DriverEntry函数分配和初始化VIDEO_HW_INITIALIZATION_DATA结构体,内容为驱动相关和硬件相关的值,以及小端口驱动的其他入口函数。DriverEntry 遇到设备PCI配置与硬件不匹配时,比如返回错误。参考Claiming Legacy Resources)
-
-
The miniport driver's DriverEntry function calls VideoPortInitialize. VideoPortInitialize performs those aspects of miniport driver initialization that are common to all miniport drivers. For example, for non-PnP drivers, VideoPortInitialize verifies portions of the miniport driver-initialized VIDEO_HW_INITIALIZATION_DATA structure, initializes some of the public members of the system-created device object, allocates memory for the device extension of the device object, and collects and stores pertinent information in the device extension. See Video Miniport Driver's Device Extension (Windows 2000 Model) for more details about device extensions. For PnP drivers, the device object-related actions occur at a later time.
-
6.(小端口驱动的DriverEntry 调用VideoPortInitialize。VideoPortInitialize完成小端口驱动通用的初始化操作。)
-
-
When VideoPortInitialize returns, DriverEntry propagates the return value of VideoPortInitialize back to the caller. Miniport driver writers should make no assumptions about the value returned by VideoPortInitialize.
-
7.(VideoPortInitialize返回后,DriverEntry返回VideoPortInitialize的返回值给调用者。小端口驱动的开发者不能假设VideoPortInitialize的返回值)
-
-
At this point, the system has loaded and initialized the video miniport driver. The next step is for the PnP manager to start the device. See Starting the Device of the Video Miniport Driver for details.
-
(此时,系统加载和初始化完成视频小端口驱动。下一步等待Pnp管理器使用设备,参考Starting the Device of the Video Miniport Driver
阅读(1271) | 评论(0) | 转发(0) |