FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE 函数 (ndis.h)

从基础驱动程序完成同步 OID 请求后,NDIS 调用筛选器驱动程序的 FilterSynchronousOidRequestComplete 函数。

NDIS 6.81 及更高版本中支持此函数。

语法

void FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE(
  [in]      NDIS_HANDLE      FilterModuleContext,
  [in, out] NDIS_OID_REQUEST *OidRequest,
  [in, out] NDIS_STATUS      *Status,
  [in]      PVOID            CallContext
);

参数

[in] FilterModuleContext

此请求的目标筛选器模块的上下文区域的句柄。 筛选器驱动程序在 FilterAttach 函数中创建并初始化了此上下文区域。

[in, out] OidRequest

指向 NDIS_OID_REQUEST 结构的指针,该结构指定要完成的操作。

[in, out] Status

指向正在完成的请求的结果状态代码的指针。

[in] CallContext

一个 PVOID 大小的存储槽,供筛选器驱动程序在其 FilterSynchronousOidRequestFilterSynchronousOidRequestComplete 处理程序之间共享状态。 如果筛选器驱动程序实现 FilterSynchronousOidRequest 处理程序,则此参数包含 FilterSynchronousOidRequest 处理程序返回的上下文值。 否则,如果筛选器驱动程序未实现 FilterSynchronousOidRequest 处理程序,则此值为零。

返回值

备注

FilterSynchronousOidRequestComplete 是一个可选函数。 如果筛选器驱动程序不需要观察或修改从微型端口驱动程序完成的同步 OID 请求,则筛选器驱动程序应在调用 NdisFRegisterFilterDriver 时将此函数的入口点设置为 NULL

NDIS 调用筛选器驱动程序的 FilterSynchronousOidRequestComplete 函数来处理由基础驱动程序完成的同步 OID 请求。 筛选器驱动程序可以读取或修改 NDIS_OID_REQUEST 结构中的某些字段,如下所示:

字段 筛选器访问
标头 只读
RequestType 读取/写入
PortNumber 读取/写入
超时 不访问
RequestId 不访问
RequestHandle 读取/写入
DATA 读取/写入
NdisReserved 不访问
MiniportReserved 不访问
SourceReserved 不访问
SupportedRevision 读取/写入
Reserved1、Reserved2 不访问
SwitchId 读取/写入
VPortId 读取/写入
Flags 读取/写入

除了修改 NDIS_OID_REQUEST 结构外,筛选器驱动程序还可以读取或修改操作完成的状态代码。 筛选器驱动程序可以将新值写入 *Status 参数。 筛选器驱动程序不得将NDIS_STATUS_PENDING或NDIS_STATUS_ALREADY_COMPLETE写入 状态 参数。

如果筛选器驱动程序还注册 FilterSynchronousOidRequest 处理程序,则 NDIS 保证当并且仅当 FilterSynchronousOidRequest 处理程序返回NDIS_STATUS_SUCCESS时,才会调用 FilterSynchronousOidRequestComplete 处理程序。

筛选器驱动程序应从其 FilterSynchronousOidRequestComplete 处理程序快速返回,而不会阻塞、等待或休眠。 同步 OID 请求仅用于低延迟操作,筛选器驱动程序应尽量在几毫秒内继续或完成这些请求。

NDIS 不会对彼此、针对其他 OID 请求或 针对 FilterPause 序列化同步 OID 请求。 筛选器驱动程序负责实现任何所需的同步。

NDIS 会针对 FilterDetach 序列化同步 OID 请求:NDIS 保证在调用 FilterDetach 后,同步 OID 请求不会处于活动状态。

筛选器驱动程序不得对同步 OID 请求调用 NdisAllocateCloneOidRequestNdisCancelOidRequest 。 筛选器驱动程序不得对通过 FilterSynchronousOidRequestComplete 处理程序接收的 OID 请求调用 NdisFSynchronousOidRequest

要求

要求
最低受支持的客户端 Windows 10 版本 1709
目标平台 Windows
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

FilterSynchronousOidRequest

NdisFSynchronousOidRequest

NDIS 6.80 中的同步 OID 请求接口