다음을 통해 공유


WdfDmaTransactionRelease 함수(wdfdmatransaction.h)

[KMDF에만 적용]

WdfDmaTransactionRelease 메서드는 연결된 DMA 트랜잭션 개체를 삭제하지 않고 지정된 DMA 트랜잭션을 종료합니다.

구문론

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

매개 변수

[in] DmaTransaction

WdfDmaTransactionCreate에 대한 이전 호출에서 드라이버가 가져온 DMA 트랜잭션 개체에 대한 핸들은.

반환 값

WdfDmaTransactionRelease 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드가 다음 값을 반환할 수 있습니다.

반환 코드 설명
STATUS_INVALID_DEVICE_STATE
드라이버가 DmaTransaction 매개 변수가 지정된 트랜잭션 개체를 이미 해제하거나 삭제했습니다.
 

이 메서드는 다른NTSTATUS 값을 반환할 수도 있습니다.

드라이버에서 잘못된 개체 핸들을 제공하면 버그 검사가 수행됩니다.

비고

WdfDmaTransactionRelease 메서드는 전송 버퍼를 플러시하고 DMA 트랜잭션과 연결된 모든 시스템 리소스를 해제합니다. 트랜잭션 개체는 삭제되지 않으며 다시 사용할 수 있습니다. 트랜잭션 개체를 다시 사용 하는 방법에 대 한 자세한 내용은 DMA 트랜잭션 개체다시 사용 합니다.

WdfDmaTransactionInitializeXxx 성공을 반환하지만 WdfDmaTransactionExecute 오류 값을 반환하는 경우 드라이버는 WdfDmaTransactionRelease호출해야 합니다.

예시

다음 코드 예제에서는 지정된 DMA 트랜잭션 개체가 나타내는 DMA 트랜잭션을 종료하지만 DMA 트랜잭션 개체는 삭제하지 않습니다.

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

요구 사항

요구 사항 가치
대상 플랫폼 보편적
최소 KMDF 버전 1.0
헤더 wdfdmatransaction.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조)
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

참고하십시오

WdfDmaTransactionCreate