?? 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 + -