我的TDI过滤器驱动程序正在拦截IRP_MJ_CREATE请求,并根据我的需要分配每个打开的TCP/UDP连接的源端口.驱动程序在内部维护一个包含连接的表(包括套接字打开/关闭和TCP宽限期),但我仍然看到驱动程序没有收到特定事件通知的极少数情况,导致错误地假设特定的TCP源端口是免费,而它正在使用中.
我正在研究在分配此端口之前发送TDI_QUERY_INFORMATION请求的选项,但我没有看到查询任何地址的选项 - 我只能查询开放地址对象,但不能查询一般地址.
是否有任何(有效的)选项来查询特定的源端口并查看它是否正在使用?