共用方式為


驅動程式的 DMA IO 錯誤_Kernel_IoGetDmaAdapter_批注

使用_Kernel_IoGetDmaAdapter_註釋來指示程式代碼分析工具尋找誤用 DMA 指標。

如果函式呼叫以_Kernel_IoGetDmaAdapter_批註標註的介面,它應該有重試邏輯,以便重試發生,直到函式成功為止。

IoGetDmaAdapter 例程可能會傳回少於要求的緩存器數目,而且呼叫端需要使用實際號碼,而不是要求的數位。

_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTKERNELAPI
struct _DMA_ADAPTER *
IoGetDmaAdapter(
    _In_opt_ PDEVICE_OBJECT PhysicalDeviceObject,           // required for PnP drivers
    _In_ struct _DEVICE_DESCRIPTION *DeviceDescription,
    _Out_ _When_(return!=0, _Kernel_IoGetDmaAdapter_ _At_(*NumberOfMapRegisters, _Must_inspect_result_))
    PULONG NumberOfMapRegisters

...

適用於 Windows 驅動程式的 SAL 2.0 註釋