共用方式為


使用 Bus-Master DMA

總線主要 DMA 裝置的驅動程式可以使用下列類型的系統提供的 DMA 支援:

  • 總線主控制器卡如果允許驅動程式來決定 DMA 傳輸操作何時完成,或/以及何時開始針對指定 IRP 的另一個傳輸操作,那麼該DMA是以封包為基礎的。 如需詳細資訊,請參閱使用 Packet-Based Bus-Master DMA

  • 如果總線主控適配器未提供讓驅動程式輕易判定傳輸作業何時開始或何時完成的方法,或者如果使用單一緩衝區持續或重複進行 DMA 傳輸,則需使用 Common-buffer DMA(也稱為連續 DMA)。 如需詳細資訊,請參閱使用 Common-Buffer Bus-Master DMA

根據總線主控適配器的性質,有些驅動程式會單獨使用封包型 DMA,有些則單獨使用共用緩衝區 DMA,有些則同時使用兩者。 例如,使用信箱配置來傳達狀態資訊和命令的總線主控制器適配器驅動程式,可能會使用驅動程式與其適配器之間共用的信箱緩衝區,以及基於封包的直接記憶體存取 (DMA) 進行數據傳輸。