다음을 통해 공유


StorPortPutScatterGatherList 함수(storport.h)

StorPortPutScatterGatherList 루틴은 StorPortBuildScatterGatherList 루틴을 호출하여 이전에 만든 분산/수집 목록과 연결된 모든 리소스를 해제합니다.

구문

ULONG StorPortPutScatterGatherList(
  [in] PVOID                     HwDeviceExtension,
  [in] PSTOR_SCATTER_GATHER_LIST ScatterGatherList,
  [in] BOOLEAN                   WriteToDevice
);

매개 변수

[in] HwDeviceExtension

HBA(호스트 버스 어댑터)의 하드웨어 디바이스 확장에 대한 포인터입니다.

[in] ScatterGatherList

StorPortBuildScatterGatherList 루틴을 호출하여 이전에 만든 분산/수집 목록이 포함된 버퍼에 대한 포인터입니다.

[in] WriteToDevice

완료된 DMA 전송 방향을 나타내는 값입니다. TRUE 값은 데이터 버퍼에서 디바이스로의 전송을 나타내고 FALSE는 디바이스에서 데이터 버퍼로의 전송을 나타냅니다.

반환 값

StorPortPutScatterGatherList는 다음 상태 코드 중 하나를 반환합니다.

반환 코드 설명
STOR_STATUS_NOT_IMPLEMENTED
이 함수는 활성 운영 체제에서 구현되지 않습니다.
STOR_STATUS_SUCCESS
루틴이 분산/수집 목록을 성공적으로 해제했음을 나타냅니다.
STOR_STATUS_INVALID_PARAMETER
전달된 HwDeviceExtensionNULL입니다.
STOR_STATUS_INVALID_IRQL
잘못된 IRQL에서 호출이 이루어졌습니다.

설명

미니포트 드라이버가 이 메모리를 할당했기 때문에 StorPortPutScatterGatherList 루틴은 분산/수집 목록에 대한 버퍼 메모리를 해제하지 않습니다.

StorPortPutScatterGatherList 루틴이 반환되면 미니포트 드라이버는 버퍼를 다시 사용하여 StorPortBuildScatterGatherList를 다시 호출하여 새 분산/수집 목록을 만들 수 있습니다. 미니포트 드라이버가 분산/수집 목록에 버퍼 사용을 완료한 경우 StorPortPutScatterGatherList 루틴이 반환된 후 버퍼에 대한 메모리를 해제해야 합니다. 미니포트 드라이버가 StorPortAllocatePool 루틴을 사용하여 버퍼 메모리를 할당하는 경우 StorPortFreePool 루틴을 호출하여 메모리를 해제해야 합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
IRQL DISPATCH_LEVEL
DDI 규정 준수 규칙 StorPortIrql(storport)

추가 정보

StorPortBuildScatterGatherList