📄 ndis 函 数 简 明 手 册 easyxu(原作.txt
字号:
NDIS 函 数 简 明 手 册 easyxu(原作)
无连接微端口的上层函数
DriverEntry 由操作系统调用来激活和初始化微端口驱动程序
MiniportAllocateComple 调用它来指示以前调用的NdisMAllocateMemoryAsync已经完成
MiniportCheckForHang 检查NIC的内部状态
MiniportDisableInterrupt 禁止NIC产生中断
MiniportEnableInterrupt 允许NIC产生中断
MiniportHalt 重新分配和重新注册NIC占用的资源并且终止NIC以使它不再有用
MiniportHandleInterrupt 延期用来完成I/O中断函数的执行
MiniportInitialize 出始化NIC
MiniportISR 作为NIC中断服务例程以高权值运行
MiniportQueryInformation 查询微端口驱动程序的性能和当前状态
MiniportReconfigure 未使用
MiniportReset 对NIC发出一个硬件重置
MiniportReturnPacket 从上层接收一个包,这个包是在这之前通过调用NdisMIndicateReceivePacket函数传上去的包
MiniportSend 如果驱动程序没有MiniportSendPadcets或MiniportWanSend函数,它用来将一个包通过NIC传递到网络上
MiniportSendPackets 通过NIC传递一组包到网络上
MiniportSetInformation 变换(设置)关于微端口驱动程序或它的NIC的信息
MiniportShutdown 当系统暂时关闭时,将NIC恢复到初始状态
MiniportSynchronizeISR 同步访问与MiniportISR或MiniportDisableInterrupt共享的资源。如果有运行在DIRQL下的NIC驱动程序函数与驱动程序的MiniportISR或MiniportDisableInterrupt函数共享资源,需要此函数
MiniportTimer 如果微端口的NIC不产生中断,用于轮询NIC的状态
MiniportTransferData 将由NIC接收到的包的内容拷贝到一个给定的包缓存中
MiniportWanSend 如果驱动程序控制着WAN NIC,通过NIC发送一个包到网络上
面向连接微端口的上层函数
DriverEntry 由操作系统调用来激活和初始化微端口驱动程序
MiniportAllocateComplete 调用它来指示以前调用的NdisMAllocateMemoryAsync已经完成
MiniportChecKForHang 检查NIC的内部状态
MiniportCoActivateVc 激活一个虚连接(VC)
MiniportCoCreateVc 为一个VC建立VC状态
MiniportCoDeactivateVc 为一个VC释放VC的状态
MiniportCoDeleteVc 删除一个VC
MiniportCoRequest 查询微端口驱动程序的能力和当前状态或改变(设置)有关微端口驱动程序或它的NIC的信息
MiniportCoSendPackets 通过一个NIC发送一组包到网络上
MiniportDisableInterrupt 禁止一个NIC产生中断
MiniportEnableInterrupt 允许一个NIC产生中断
MiniporeHalt 收回和注销NIC占用的资源并且终止NIC以使它不再使用
MiniportHandIeInterrupt 延期用来完成I/O中断函数的执行
MiniportInitialize 初始化NIC
MiniportISR 作为NIC中断服务例程以高权值运行
MiniportReconfigure 未使用
MiniporeReset 对NIC发出一个硬件重置
MiniportReturnPacket 从上层接收一个包,这个包是在这以前通过调用NdisMCoIndicateReceivePacket传上去的
MiniportShutdown 一个可选择函数,当系统关闭时,将NIC恢复到它的初始状态
MiniportSynchronizpISR 同步访问与MiniportISR或MiniportDisableInterrupt共享的资源,如果有运行在DIRQL下的NIC驱动程序函数与驱动程序的MiniportISR或MiniportDisableInterrupt函数共享资源
MiniportTimer 如果微端口NIC不产生中断, 轮询一个NIC状态
MiniportWanSend 如果驱动程序控制着WAN NIC ,通过网络接口卡发送一个包到网络上
初始化和注册函数
NdisMInitializeWrapper 为微端口驱动程序初始化NDIS库数据结构
NdisMRegisterMiniport 向NDIS提供有关微端口驱动程序的信息
NdisMSetAttributes 向NDIS库报告微端口驱动程序所支持的NIC的类型并且传递指向微端口的环境区域的句柄。NDIS将在接下来的调用中把这个句柄传递给MiniportXxx函数
NdisMSetAtteributesEx 除了如同NdisMSetAttributes一样传递同样的信息,这个函数改变了缺省的NIC超时动作,并且允许一个微端口指定一些附加的标志。一个驱动程序,例如一个NDIS中间层驱动程序或一个非 串行化微端口驱动程序,如果必须指定一个或多个这种标志的话,则必须调用这个函数而不是NdisMSetAttributes
NdisMGetDeviceProperty 检索出设备对象,这个对象被用来通过一个总线驱动程序来建立一个与NIC的通信。例如,USB和IEEE 1394总线驱动程序
NdisMQueryAdapterResources 返回一个NIC硬件资源列表
NdisMQueryInformationComplete 指示NDIS先前的MiniporeQueryInformation操作完成。仅被无连接微端口调用
NdisMSetInformationComplete 报告NDIS库,以前的MiniportSetInofrmation操作已经完成,仅被无连接微端口调用
NdisOpenConfiguration 提供一个调用者可以用来调用NdisReadConfiguration,NdisWriteConfiguration,NdisOpenConfigurationByIndex或NdisOpenConfigurationByName的句柄
NdisOpenCanfigurationByIndex 打开一个给定的已打开的注册表中的主键值的一个子键,而这个主键是由一个调用者所提供的句柄指定
NdisOpenConfigarationByName 打开一个给定的已打开的注册表中的主键值的一个指定的子键,这个主键是由一个调用者所提供的句柄指定
NdisReadConfiguration 使用由调用NdisOpenConfiguration所获得的参数句柄来读取存储在注册表中的指定键名的键值,键值将传给NdisReadConfigration
NdisWriteConfiguration 使用由调用NdisOpenConfiguration所获得的参数句柄将键值写入注册表,键值传给NdisWriteConfiguration
NdisCloseConfiguration 关闭一个通过调用NdisOpenConfiguration而打开的注册表句柄
NdisMRegisterAdapterShutdownHandler 注册一个NIC驱动程序提供的Miniportshutdown函数,它在系统将要关闭时被调用
NDIS_INIT_FUNCTION 注明一个驱动程序函数仅在初始化时开始运行
NDIS_PAGEABLE_FUNCTION 注明一个驱动程序函数是可分页代码
硬件设置函数
NdisReadEisaSlotInformation 读取EISA NIC插槽信息并且将它拷贝到NIC驱动程序所提供的一个缓存中
NdisReadEisaSlotInformationEx 为一个支持可选择设置的EISA NIC读取插槽信息和有关的一系列函数的信息,并且将这些设置拷贝到NIC驱动程序所提供的缓存中
NdisImmediateReadPciSlotInformation 从一个指定PCI设备的设置区间读取一个指定长度的字节
NdisImmediateWritePciSlotInformation 向一个指定PCI设备的设置区间写入一个指定长度的字节
NdisMPciAssignResources 返回一个指定PCI设备所声明的资源列表
NdisReadPciSlotInformation 从一个指定PCI设备的设置区间读取一个指定长度的字节
NdisWritePciSlotInformation 向一个指定PCI设备的设置区间写入一个指定长度的字节
NdisReadPcmciaAttributeMemory 为一个PC卡的NIC从属性内存中读取与总线相关的设置参数
NdisWritePcmciaAttributeMemory 为一个PC卡NIC向属性内存写入与总线相关的设置参数
NdisReadNetworkAddress 返回软件可设置的网络地址,它是在NIC安装在机器中时为NIC存储在注册表中的
I/O端口函数
NdisMRegisterIoPortRange 为使用NdisRawReadPortXxx和NdisRawWriteportXxx函数建立I/O访问端口
NdisMDeregisterIoProtRange 删除早期由NdisMRegisterIoPortRange注册的I/O访问端口
NdisMMapIospace 为随后的内存映射I/O操作映射一定范围的设备内存
NdisZeroMappedMemory 将早期调用NdisMMapIoSpace映射的内存块以0填充
NdisMoveFromMappedMemory 将在初始化时由NdisMMapIoSpace所映射的设备内存中的数据拷贝到一个系统空间的缓存中
NdisMoveToMappedMemory 将数据从一个系统空间缓存中拷贝到在初始化时由NdisMMapIoSpace所映射的设备内存中
NdisMUnmapIoSpace 释放调用NdisMMapIoSpace所映射的区域
NdisImmediateReadSharedMemory 在驱动程序调用NdisMMapIoSpace之前从共享内存地址中读取一块数据到缓存
NdisImmediateWriteSharedMemory 在驱动程序调用NdisMMapIoSpace之前向一个共享内存地址中写入缓存中的数据
NdisRawReadPortXxx 从一个I/O端口读取唯一的一条数据,具体的函数包括:NdisRawReadPortUchor,NdisRawReadportUlong,NdisRawReadportUshort
NdisRawReadPortBufferXxx 从一个I/O端口一次读取数据到缓存,具体函数包括:NdisRawReadPortBufferUchar,NdisRawReadPortBufferUlong,NdisRawReadPortBufferUshort
NdisRawWritePortXxx 向一个I/O端口写入一条数据,具体函数包括:NdisRawWritePortUchar,NdisRawWritePortUlong,NdisRawWritePortUshourt
NdisRawWritePortBufferXxx 将缓存中的数据写入I/O端口,具体函数包括:NdisRawWritePortBufferUch,NdisRawWritePortBufferUlong,NdisRawWritePortBufferUshort
NdisImmediateReadPortXxx 在驱动程序调用NdisMRegisterIoPortRange映射端口之前从一个I/O端口读取一条数据。具体函数包括:NdisImmediateReadPortUcha,NdisImmediateReadPortUshort,NdisImmeduateReadPortUlong
NdisImmediateWritePortXxx 在驱动程序调用NdisMRegisterIoPortRange映射端口之前向一个I/O端口写一条数据。具体函数包括:NdisImmediateWritePortUch,NdisImmediateWritePortUshort,NdisImmediateWritePortUlong
DMA相关的函数
NdisMAllocateMapRegisters 为使用总线管理器的DMA设备分配映射注册表
NdisMAllocateShareMemory 分配系统与一个总线管理器DMA 和NIC共享的内存。它在驱动程序初始化时以IRQL PASSIVE_LEVEL调用
NdisMAllocateShareMemoryAsync 调用它提升IRQL,例如一个微端口的MiniportHandleInterrupt函数为总线管理器DMA NIC分配共享内存
NdisMCompleteBufferPhysicalMapping 释放早期为一个总线管理器DMA操作而调用NdisMStartBufferPhysicalMapping所使用的映射注册表。仅在DMA初始化时由调用NdisMAllocateMapRegisters的驱动程序调用
NdisMCompleteDmaTransfer 指示NDIS库一个从属的DMA操作已完成
NdisMDeregisterDmaChannel 在微端口驱动程序的DMA通道上释放它的声明
NdisFlushBuffer 在发送数据到NIC或从NIC转移数据之前,调用它来确保在总线管理器DMA运行的cache和主机物理内存之间一致
NdisGetCacheFillSize 返回微处理器的以字节为单位的cache边界。DMA NIC的驱动程序可以使用由这个函数返回的信息以避免在DMA传输时与cache断开
NdisMFreeMapRegisters 释放总线管理器DMA的映射注册表,它是早期由NdisMAllocateMapRegisters分配的
NdisMFreeSharedMemory 释放早期由NdisMAllocateSharedMemory或NdisMAllocateSharedMemoryAsync分配的内存
NdisMInitializeScatterGatherDma 为使用DMA驱动程序保留系统资源,仅被非串行化或面向连接微端口调用
NdisMReadDmaCounter 读取系统DMA管理器的计数器的当前值
NdisMRegistgerDmaChannel 为将来从属的DMA操作建立一个DMA通道控制
NdisMSetupDmaTransfer 为从属的DMA传递设置一个主机系统的DMA控制器
NdisMStarBufferPhysicalMapping 为一个总线管理器DMA操作产生一个物理地址映射,仅在DMA初始化时调用NdisMAllocateMapRegisters的驱动程序调用
NdisMUpdateSharedMemory 确保在总线管理器DMA操作时从共享内存区读取的数据是最新的
NdisQueryMapRegisterCount 返回所有可能的映射注册表数量。在调用NdisMAllocateMapRegisters之前驱动程序调用NdisQueryMapRegisterCount来选择实际分配多少注册表
中断处理函数
NdisMDeregisterInterrupt 是一个中断处理程序停止接收中断。操作系统断开NIC中断相连的中断服务函数的联系
NdisMRegisterInterrupt 连接微端口中断服务函数(MiniportISR)和由它的NIC所产生的中断
NdisMSynchronizeWithInterrupt 任何与MiniportISR或MiniportDisableInterrupt函数共享资源的NIC驱动程序函数必须同步访问这些资源以防止争用发生。通过调用NdisMSynchronizeWithInterrupt和传递一个MiniportSynchronizeISR函数的地址,来使函数与MiniportISR和MiniportDisableInterrupt同步。MiniportSynchronzeISR运行在DIRQL上,所以它可以安全地访问共享资源
同步函数
NdisMCanceltimer 取消早期由NdisMSetTimer设置的一个时钟
NdisMInitializeTimer 初始化一个时钟对象并且将对象与一个MiniportTimer函数相连
NdisMSetTimer 设置一个时钟在一个指定间隔之后停止
NdisMSetPeriodicTimer 设置时钟每隔一个指定时间后停止,或直到调用NdisMCancelTimer后才停止
NdisMsleep 引起调用者的线程阻塞指定的间隔。驱动程序在初始化或当停止适配器时,调用NdisMsleep。例如,当等待NIC完成初始化时。NdisMsleep仅在IRQL PASSIVEL_LEVEL下被调用
NdisStallExecution 引起调用者的线程停止一个指定间隔,不超过50微秒。此时不能使用NdisMSleep,NdisStallExecution仅在升高的IRQL下被调用
NdisInitializeEvent 产生和初始化一个用来同步驱动程序操作的事件
NdisSetEvent 为指定事件设置信号量
NdisResetEvent 重新设置指定事件为无信号状态
NdisWaitEvent 引起调用者等待到指定事件被指示或指定时间间隔结束时为止
NdisAllocateSpinLock 初始化一个的NDIS_SPIN_LOCK类型变量,它被用来同步访问非ISR驱动程序函数之间共享的资源
NdisFreeSpinLock 释放一个在调用NdisAllocateSpinLock过程中初始化的自旋锁
NdisAcquireSpinLock 获得一个自旋锁来保护在一个SMP安全方式下运行的非ISR驱动程序函数之间的共享资源的访问。运行在IRQLNdisReleaseSpinLock 释放一个早期调用NdisAcquireSpinLock获得的自旋锁
NdisDprAcquireSpinLock 获得一个在IRQL DISPATCH_LEVEL下的自旋锁。它保护在一个SMP安全模式下运行的非ISR驱动程序函数间的共享资源访问。它比为运行在IRQL DISPATCH_LEVEL上的驱动程序函数调用NdisAcquireSpinLock要快
NdisDprReleaseSpinLock 释放一个早期调用NdisDprAcquireSpinLock获得的自旋锁
NdisInitializeReadWriteLock 初始化一个NDIS_RW_LOCK类型变量。NDIS_RW_LOCK变量用来限制对一个非ISR驱动程序线程的共享资源一次进行一个写访问。这个NDIS_RW_LOCK允许多个非ISR驱动程序线程同时读这些资源。这个读访问在写访问时是不允许的
NdisAcquireReadWriteLock 获得一个调用者用来在多个驱动程序线程的共享资源间进行写或读访问的锁。运行在IRQLNdisReleaseReadWriteLock 释放一个在调用NdisAcquireReadWriteLock过程中获得的读-写锁
NdisMSynchronizeWithInterrupt 任何与MiniportISR或MiniportDisableInterrupt函数共享资源的NIC驱动程序函数必须与这两个函数同步访问资源,以防止争用发生。必须与MiniportISR和MiniportDisableInterrupt同步的函数通过调用NdisMSynchronizeWithInterrupt,与一个也运行在DLRQL的MiniportSynchronizeISR函数同步访问共享资源
状态函数
NdisMCoIndicateStatus 向绑定协议指示一个面向连接NIC的状态变化或一个在网络接口卡(NIC)上的指定虚连接(VC)的状态变化
NdisMIndicateStatus 向NDIS库指示NIC状态已变化,仅被无连接微端口调用
NdisMIndicateStatusComplete 向NDIS库指示状态变化已完成,仅被无连接微端口调用
NdisMQueryInformationComplete 指示早期的MiniportQueryInformation调用已完成
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -