IPortWaveCyclic::NewMasterDmaChannel 方法 (portcls.h)
NewMasterDmaChannel
方法會建立總線主機 DMA 通道的新實例。
語法
NTSTATUS NewMasterDmaChannel(
[out] PDMACHANNEL *DmaChannel,
[in] PUNKNOWN OuterUnknown,
[in, optional] PRESOURCELIST ResourceList,
[in] ULONG MaximumLength,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed
);
參數
[out] DmaChannel
呼叫端配置的指標變數的指標,方法會將指標寫入新 IDmaChannel 物件。 為此參數指定有效的非NULL 指標值。
[in] OuterUnknown
需要匯總 DMA 信道對象的物件 IUnknown 介面的指標。 這個參數是選擇性的。 如果不需要匯總,請將此參數指定為 NULL。
[in, optional] ResourceList
迷你埠驅動程序資源清單的指標,這是 IResourceList 物件。 這個參數是選擇性的,而且可以指定為 NULL 。
NewMasterDmaChannel
方法目前不會使用此參數。
[in] MaximumLength
與這個通道相關聯的迴圈 DMA 緩衝區最大長度,以位元組為單位。
[in] Dma32BitAddresses
指定32位位址的使用。
[in] Dma64BitAddresses
指定64位位址的使用。
[in] DmaWidth
未使用。 設定為 (DMA_WIDTH)(-1)。
[in] DmaSpeed
未使用。 設定為 (DMA_SPEED)(-1)。
傳回值
如果呼叫成功,NewMasterDmaChannel
會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。
言論
參數 MaximumLength、Dma32BitAddresses、Dma64BitAddresses、DmaWidth,以及 DmaSpeed 與具有相同名稱之 DEVICE_DESCRIPTION 結構的成員相似。
具有內建總線主控 DMA 硬體的 WaveCyclic 裝置稱為 主要裝置。 相反地,次級裝置 缺少 DMA 硬體,而且必須依賴系統 DMA 控制器來執行它所需的任何數據傳輸。
NewMasterDmaChannel
方法會為主要裝置建立 DMA 通道物件。 若要為次級裝置建立 DMA 通道物件,請改為呼叫 IPortWaveCyclic::NewSlaveDmaChannel 方法。 如需主要和次級裝置的詳細資訊,請參閱 IDmaChannel 和 IDmaChannelSlave。
DmaChannel、OuterUnknown和 ResourceList 參數遵循 COM 物件的 參考計數慣例。
注意
Microsoft支持多樣化的包容性環境。 本文包含術語的參考,Microsoft樣式指南可辨識為排除。 本文中會使用單字或片語來保持一致性,因為它目前會出現在軟體中。 當軟體更新為移除語言時,本文將會更新為對齊方式。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | portcls.h (包括 Portcls.h) |
IRQL | PASSIVE_LEVEL |