windows API详解
文章平均质量分 95
奇树谦
软件开发工程师,从事军工/制造行业近5年,擅长跨平台上位机软件搭建,可以完成从UI到底层通信全链路代码编写。记录工作生活中的所学所感,欢迎一起学习交流。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WindowsAPI|每天了解几个winAPI接口之文件操作相关文档fileapi.h详细分析1
Windows文件API解析 本文解析了Windows文件操作核心API文件fileapi.h的作用机制。作为Win32子系统的一部分,fileapi.h提供了用户态程序访问文件系统的标准C接口,包括文件创建、读写、删除等操作。这些API并不直接操作磁盘,而是通过Kernel32.dll等系统组件最终调用NT内核实现功能。 文章详细介绍了Windows文件API的设计特点,包括统一的句柄模型、同步/异步IO机制等,并对比了Qt、CRT等上层框架对Win32文件API的封装方式及其语义差异。同时指出Windo原创 2025-12-24 08:00:00 · 1389 阅读 · 0 评论 -
Windows 的异步文件 IO 是“句柄级能力”,而不是函数级能力
摘要:Windows异步文件IO采用句柄级能力而非函数级能力,即异步特性在创建句柄时通过FILE_FLAG_OVERLAPPED标记确定,后续所有ReadFile/WriteFile调用均受此约束。这意味着:1)同步句柄无法通过函数调用实现异步;2)能力由内核对象结构决定,无法动态切换。该设计虽增加学习成本,但为IOCP调度、IO合并提供了统一模型,体现了Windows内核的硬核一致性。核心结论:异步IO行为取决于句柄创建时的属性,而非调用的API函数。原创 2025-12-23 08:00:00 · 610 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析16
Windows 网络字符串解析 API 解析 本文详细解析了 Windows 网络接口中的字符串解析 API 标志,这些 NET_STRING_* 宏用于明确指定网络字符串的语义类型,而非单纯描述字符串格式。核心要点包括: 标志分类: IPv4 相关:地址(NET_STRING_IPV4_ADDRESS)、服务(NET_STRING_IPV4_SERVICE)、网络段(NET_STRING_IPV4_NETWORK) IPv6 相关:地址(含/不含作用域)、服务(含/不含作用域)、网络段 DNS 相关:命名原创 2025-12-20 08:00:00 · 1686 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析15
Windows API 深度解析上一篇:WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析14 用于将 IP Helper API 或 ICMP 相关函数返回的 错误码转换成更友好的文本描述。典型错误例如 、 等。使用该函数可以在日志或调试输出中得到更可读的错误解释。ErrorCode需要转换的 IP 错误码,通常来自 ICMP 或 IP Helper 返回值,例如 、 等。Buffer输出缓冲区,用于存放 Unicode 字符串。如果传入 ,函数会将原创 2025-12-15 21:12:56 · 907 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析14
本文继续对 Windows 网络接口相关的时间戳管理 API 进行解析,科普与参考为主,如有错误欢迎指正。原创 2025-11-28 19:45:00 · 900 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析13
Windows 网络管理 API 解析 本文分析了 Windows 网络管理中的两个关键 API: IpReleaseAddress - 用于释放指定网卡的 DHCP 租约,类似ipconfig /release 需要管理员权限 参数为适配器索引信息 常用于网络重置、DHCP调试等场景 IpRenewAddress - 用于重新获取DHCP地址,类似ipconfig /renew 需要有效DHCP配置 与IpReleaseAddress配合使用实现完整网络重置 适用于网络故障恢复和自动化部署 两个API均属原创 2025-11-17 21:10:31 · 1765 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析12-Windows 网络接口时间戳 API 的查询、事件注册和注销机制
本文解析了Windows网络接口时间戳管理相关API,包括: GetInterfaceCurrentTimestampCapabilities - 查询当前启用的时间戳能力 GetInterfaceHardwareTimestampCapabilities - 查询网卡硬件支持的时间戳能力 NotifyIfTimestampConfigChange - 注册时间戳配置变更通知回调 这些接口用于高精度时间同步、延迟测量等场景,支持查询硬件能力、当前配置状态及变更通知功能,为网络时间同步(PTP)等应用提供底层原创 2025-11-12 19:43:21 · 1191 阅读 · 0 评论 -
Windows API 文件结构与功能分类详解
Windows API 文件结构与功能摘要 Windows SDK API 按目录分层组织,主要包含用户模式(um)、共享定义(shared)、标准C库(ucrt)和WinRT接口等模块。功能分类如下: 核心模块: 图形界面:winuser.h(窗口)、wingdi.h(绘图) 网络通信:winsock2.h(Socket)、wininet.h(HTTP) 硬件交互:setupapi.h(设备)、usb.h(USB接口) 文件系统:fileapi.h(基础I/O)、winreg.h(注册表) 系统管理:pr原创 2025-10-22 17:37:38 · 1066 阅读 · 0 评论 -
Windows SDK:iphlpapi.h 文件详解与网络通信接口分析
本文详细解析了Windows SDK中的iphlpapi.h文件,该文件属于Windows IP Helper API,用于网络编程和系统管理。主要内容包括:文件路径和作用概述,提供网络适配器、IP地址、路由表等信息的查询和配置功能;功能分类介绍,涵盖网络接口信息、IP路由管理、网络统计监控、ARP/DNS解析以及时间戳查询等接口;最后给出一个枚举本机网络适配器的代码示例,展示如何获取网卡描述、IP和MAC地址等信息。该文件是开发网络监控、诊断工具的重要底层支持。原创 2025-10-23 08:30:00 · 597 阅读 · 0 评论 -
Windows PTP 客户端和NDIS驱动开发
摘要: Windows PTP客户端和NDIS驱动开发是实现高精度网络时间同步的关键技术。PTP协议(IEEE 1588)通过硬件时间戳在网络设备间实现微秒级时钟同步,Windows 10/Server 2019起原生支持PTP客户端功能。NDIS驱动作为网卡与操作系统的桥梁,需实现硬件时间戳功能才能支持CaptureInterfaceHardwareCrossTimestamp()等API。该函数能否工作取决于网卡驱动是否通过NDIS暴露时间戳能力。三者关系可概括为:NDIS驱动提供硬件时间能力,Wind原创 2025-10-17 08:00:00 · 905 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析11
这篇文章介绍了三个Windows网络时间同步相关的API接口: GetInterfaceActiveTimestampCapabilities - 获取网络接口当前生效的时间戳能力,适用于Win10 20H1及以上系统,需NDIS 6.83驱动支持硬件时间戳功能。 GetInterfaceSupportedTimestampCapabilities - 查询网络适配器支持的所有时间戳功能,无论是否启用,返回结果包含硬件时钟频率、PTP协议支持等信息。 CaptureInterfaceHardwareCros原创 2025-10-16 21:15:00 · 1753 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析10
本文介绍了Windows API中三个网络配置相关接口: GetNetworkParams - 获取本机全局IPv4网络参数(主机名、域名、DNS服务器等),采用经典的"两次调用"模式,返回FIXED_INFO结构体。 GetAdaptersInfo - 获取所有IPv4网卡详细信息(MAC地址、IP、网关、DHCP状态等),返回IP_ADAPTER_INFO链表结构。 GetAdapterOrderMap - 获取网卡接口索引的优先级顺序列表。 这些API适用于网络诊断工具、DNS配置原创 2025-09-04 21:15:00 · 759 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析9
如果有错误欢迎指正批评,在此只作为科普和参考。原创 2025-08-22 21:32:17 · 919 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析8
SetTcpEntry 是 Windows API 中用于强制断开一条已存在的 IPv4 TCP 连接的功能,通过将连接状态设为 MIB_TCP_STATE_DELETE_TCB 实现。它需要完整的五元组信息(源/目的IP、端口及协议)来定位连接,适用于管理员级别的网络管理。五元组是网络连接的唯一标识,包含源/目的IP、端口和传输层协议,用于NAT、防火墙等场景。GetInterfaceInfo 则用于获取本机支持IPv4的网络接口简表,包含接口索引和友好名称,适用于快速枚举接口信息。两者都是Windows原创 2025-08-22 21:08:06 · 1315 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析7
当主机 A 想访问 IPX,但X并不在本子网,按常理 A 应该先把包发给网关。如果网关上启用了Proxy ARP,它会回应 A 的 ARP 请求:“IPX的 MAC 就是我的 MAC”。于是 A 把数据直接发到网关 MAC,再由网关转发到真正的X整个过程对 A 完全透明。原创 2025-08-21 21:45:00 · 599 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析6
本文介绍了Windows API中三个网络配置相关函数: SetIfEntry - 用于设置网络接口状态,通过修改MIB_IFROW结构中的dwAdminStatus字段来启用/禁用接口,需要管理员权限。 CreateIpForwardEntry - 在系统路由表中创建新路由条目,需指定完整的MIB_IPFORWARDROW结构,包含目标网络、子网掩码、下一跳地址等关键路由信息。 SetIpForwardEntry - 动态修改路由表条目,通过MIB_IPFORWARDROW结构参数实现路由的创建、修改或删原创 2025-07-29 20:51:00 · 1455 阅读 · 2 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析5
本文分析了Windows IP Helper API中的三个关键函数: GetOwnerModuleFromPidAndInfo - 用于检索与特定进程ID和网络信息关联的模块所有者信息,帮助识别网络端点的拥有者。该函数需要提供PID、网络信息、信息类别等参数,返回模块所有者数据。 GetIpStatistics - 获取IP协议统计信息,包括IPv4/IPv6的数据包收发、转发、错误等详细指标。通过填充MIB_IPSTATS结构体返回全面的网络层统计数据。 GetIcmpStatistics - 检索IC原创 2024-10-17 22:50:58 · 1487 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析4
Windows API IPv6 TCP连接信息获取函数摘要 本文介绍了两个用于获取IPv6协议栈上TCP连接信息的Windows API函数: GetTcp6Table函数 功能:检索IPv6 TCP连接的当前状态表 参数: TcpTable:接收MIB_TCP6TABLE结构的输出缓冲区 SizePointer:输入缓冲区大小/返回实际字节数 Order:是否按本地IP和端口排序的标志 返回值:成功返回NO_ERROR(0),失败返回错误码 GetTcp6Table2函数(扩展版本) 功能:增强版IPv原创 2024-10-17 10:19:05 · 1372 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析3
GetOwnerModuleFromTcpEntry是Windows IP Helper API中的一个函数,用于获取与特定TCP连接关联的模块信息。该函数接收一个TCP连接条目作为输入,返回拥有该连接的模块详细信息,包括进程ID和模块路径等。通过指定不同的信息级别(Basic或Enhanced),可以获取不同详细程度的信息。调用时需要提供足够大小的缓冲区来存储返回数据。该函数在网络监控、安全分析和故障排查等场景中非常有用,可以帮助识别特定TCP连接所属的应用程序模块。代码中的预处理指令限制了该API仅适用原创 2024-10-13 19:16:54 · 1336 阅读 · 0 评论 -
WindowsAPI|每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析二
WindowsAPI| 每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析原创 2024-10-13 19:12:33 · 1302 阅读 · 0 评论 -
WindowsAPI| 每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析一
Windows IP Helper API 接口简介 本文简要介绍了 Windows 平台的 IP Helper API (Iphlpapi.h),该接口提供网络诊断与配置管理功能。主要内容包括: 功能概述: 获取网络适配器列表及状态 查询接口统计信息 管理路由表 执行网络诊断 支持高精度时间同步(PTP/TSN) 关键接口详解: GetNumberOfInterfaces - 获取网络接口数量 GetIfEntry - 获取接口详细MIB-II信息 GetAdaptersInfo - 获取网卡配置信息 时原创 2024-08-02 19:23:59 · 2435 阅读 · 0 评论
分享