视频微型端口驱动程序函数的 DriverEntry
DriverEntry 是视频微型端口驱动程序的初始入口点。
语法
ULONG DriverEntry(
_In_ PVOID Context1,
_In_ PVOID Context2
);
参数
Context1 [in] 指向微型端口驱动程序必须调用 VideoPortInitialize 的上下文值的指针。 此上下文值标识系统为此微型端口驱动程序创建的驱动程序对象。
Context2 [in] 指向微型端口驱动程序必须调用 VideoPortInitialize 的第二个上下文值的指针。 此上下文值标识此微型端口驱动程序的注册表路径。
返回值
DriverEntry 返回 VideoPortInitialize 返回的值。
注解
每个微型端口驱动程序都必须有一个显式命名为 DriverEntry 的函数才能加载。 DriverEntry 由 I/O 系统直接调用。
DriverEntry 必须执行以下步骤:
在堆栈上为 VIDEO_HW_INITIALIZATION_DATA 结构分配内存,并调用 VideoPortZeroMemory 将其初始化为零。
在VIDEO_HW_INITIALIZATION_DATA成员(包括微型端口驱动程序的入口点)中填写特定于驱动程序的值和特定于适配器的值。 以下入口点必须设置为微型端口驱动程序提供的例程:
如果驱动程序的硬件支持旧版资源,驱动程序必须报告这些资源。 如果在驱动程序编译时已知资源列表,DriverEntry 应执行以下操作:
- 声明并报告VIDEO_HW_INITIALIZATION_DATA结构的 HwLegacyResourceList 和 HwLegacyResourceCount 成员中的所有此类资源。 旧资源是设备 PCI 配置空间中未列出但由设备解码的资源。
- 为微型端口驱动程序中定义的每个VIDEO_ACCESS_RANGE结构相应地填充 RangePassive 字段。
如果在运行时之前无法确定旧资源列表,驱动程序应改为实现 HwVidLegacyResources 函数来报告它们。
调用 VideoPortInitialize,将 Context1 和 Context2 作为前两个参数传递,将指向 VIDEO_HW_INITIALIZATION_DATA 结构的指针作为第三个参数传递,将 NULL 作为第四个参数传递。
DriverEntry 应将 VideoPortInitialize 返回的值传播回调用方。
如果 DriverEntry 声明资源,则它应仅包括硬件解码但 PCI 未声明的资源。 微型端口驱动程序可以在后续调用中再次“回收”这些旧资源, () VideoPortVerifyAccessRanges;但是,视频端口驱动程序只会忽略任何以前声明的此类资源的请求。 如果微型端口驱动程序尝试在 VideoPortVerifyAccessRanges 中声明以前未在 DriverEntry (或 HwVidLegacyResources 中的 VIDEO_HW_INITIALIZATION_DATAHwLegacyResources 成员中声明的旧访问范围(如果) 实现),则会在系统中禁用电源管理和停靠。
对于也支持运行 Windows NT 4.0 的计算机的 Microsoft Windows 2000 及更高版本的驱动程序,硬件配置常量在 video.h 中定义。 下表描述了这些常量。
返回的常量 | 含义 |
---|---|
SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO |
Windows NT 4.0 VIDEO_PORT_CONFIG_INFO 结构的大小(以字节为单位)。 |
SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA |
Windows NT 4.0 VIDEO_HW_INITIALIZATION_DATA 结构的大小(以字节为单位)。 如果 VideoPortInitialize 失败,视频微型端口驱动程序应将 VIDEO_HW_INITIALIZATION_DATA 结构的 HwInitDataSize 成员设置为此结构的 Windows 2000 (及更高版本) 版本或Windows NT 4.0 版本的大小。 选择适当的结构大小,以匹配将运行微型端口驱动程序的操作系统版本。 然后,视频微型端口驱动程序应再次调用 VideoPortInitialize 。 有关使用示例,请参阅 Windows 驱动程序开发工具包 (DDK) 中包含的视频微型端口驱动程序示例。 |
SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA |
Windows 2000 及更高版本的大小 (以字节为单位)VIDEO_HW_INITIALIZATION_DATA 结构。 |
SIZE_OF_WXP_VIDEO_HW_INITIALIZATION_DATA |
Windows Vista 及更高版本的大小 (以字节为单位)VIDEO_HW_INITIALIZATION_DATA 结构。 |
SIZE_OF_WXP_VIDEO_PORT_CONFIG_INFO |
Windows Vista VIDEO_PORT_CONFIG_INFO 结构的大小 (以 字节为单位)。 |
DriverEntry 应可分页。
要求
目标平台 |
桌面 |
标头 |
Video.h (包括 Video.h) |
库 |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈