다음을 통해 공유


DMA_SUSPEND_HANDLER 콜백 함수(netdma.h)

참고 NetDMA 인터페이스는 지원되지 않습니다.

Windows 8 이상에서

 
ProviderSuspendDma 함수는 DMA 채널에서 현재 진행 중인 DMA 전송을 일시 중단합니다.

구문

DMA_SUSPEND_HANDLER DmaSuspendHandler;

NTSTATUS DmaSuspendHandler(
  [in]  PVOID ProviderChannelContext,
  [out] PPHYSICAL_ADDRESS *pLastDescriptor
)
{...}

매개 변수

[in] ProviderChannelContext

DMA 채널의 컨텍스트 영역을 식별하는 포인터입니다. DMA 공급자는 의 pProviderChannelContext 매개 변수에 지정된 위치에서 NetDMA에 이 핸들을 반환했습니다. ProviderAllocateDmaChannel 함수입니다.

[out] pLastDescriptor

마지막으로 성공적으로 처리된 DMA 설명자의 실제 주소를 포함하는 변수에 대한 포인터입니다. DMA 공급자는 ProviderSuspendDma에서 반환하기 전에 이 주소를 제공합니다.

반환 값

ProviderSuspendDma는 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
STATUS_UNSUCCESSFUL
지정되지 않은 이유로 작업이 실패했습니다.

설명

ProviderSuspendDma 함수는 NetDMA 공급자를 위한 선택적 함수입니다. NetDMA 인터페이스는 ProviderSuspendDma 함수(있는 경우)를 호출하여 DMA 채널에서 진행 중인 DMA 전송을 일시적으로 일시 중단할 수 있습니다.

DMA 공급자는 ProviderSuspendDma에서 반환되기 전에 현재 DMA 설명자의 전송을 완료합니다. 완료 상태 보고가 사용하도록 설정된 경우 DMA 엔진은 의 CompletionVirtualAddressCompletionPhysicalAddress 멤버에 지정된 주소에 NetDmaTransferStatusSuspend 상태 씁니다. NET_DMA_CHANNEL_PARAMETERS 구조체입니다.

DMA 전송이 일시 중단되는 동안 NetDMA 인터페이스는 DMA 설명자 연결된 목록(예: 설명자 삽입 또는 삭제)을 수정할 수 있습니다.

NetDMA 인터페이스는 ProviderResumeDma 함수를 호출하여 ProviderSuspendDma를 호출하여 일시 중단된 DMA 작업을 다시 시작합니다.

NetDMA는 IRQL <= DISPATCH_LEVEL ProviderSuspendDma를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NetDMA 1.0 드라이버에 대해 지원됩니다.
대상 플랫폼 Windows
헤더 netdma.h(Netdma.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderResumeDma