初始化支持 NDK 的微型端口驱动程序

支持网络直接内核 (NDK) 的微型端口驱动程序的初始化方式与其他微型端口驱动程序相同。 但是,它还必须注册其他 NDKPI 入口点。

DriverEntry 函数

每个微型端口驱动程序的 DriverEntry 函数初始化 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构,并将其传递给 NdisMRegisterMiniportDriver ,如以下页面所述:

初始化 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构时,支持 NDK 的微型端口驱动程序必须执行以下操作:

MiniportSetOptions 函数

NDIS 在微型端口驱动程序的 DriverEntry 函数返回后立即调用 MiniportSetOptions 函数。 MiniportSetOptions 函数是在微型端口驱动程序调用 NdisMRegisterMiniportDriver 的上下文中调用的。

在其 MiniportSetOptions 函数中,支持 NDK 的微型端口驱动程序注册其 NDK 功能,并注册以下所需的 NDKPI 函数入口点,如 配置可选微型端口驱动程序服务中所述:

若要为这些函数注册 NDKPI 入口点,微型端口驱动程序的 MiniportSetOptions 函数必须执行以下操作:

  1. 初始化 NDIS_NDK_PROVIDER_CHARACTERISTICS 结构。

    注意 请特别注意 标头 成员说明。 微型端口驱动程序必须正确设置此成员,才能将自身标识为支持 NDK 的微型端口驱动程序。

  2. 将函数入口点存储在结构的 OpenNDKAdapterHandlerCloseNDKAdapterHandler 成员中。

  3. 调用 NdisSetOptionalHandlers 函数,在 OptionalHandlers 参数中传递 结构。

网络直接内核提供程序接口 (NDKPI)