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는 다음 상태 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
이 함수는 활성 운영 체제에서 구현되지 않습니다. |
|
루틴이 분산/수집 목록을 성공적으로 해제했음을 나타냅니다. |
|
전달된 HwDeviceExtension 은 NULL입니다. |
|
잘못된 IRQL에서 호출이 이루어졌습니다. |
설명
미니포트 드라이버가 이 메모리를 할당했기 때문에 StorPortPutScatterGatherList 루틴은 분산/수집 목록에 대한 버퍼 메모리를 해제하지 않습니다.
StorPortPutScatterGatherList 루틴이 반환되면 미니포트 드라이버는 버퍼를 다시 사용하여 StorPortBuildScatterGatherList를 다시 호출하여 새 분산/수집 목록을 만들 수 있습니다. 미니포트 드라이버가 분산/수집 목록에 버퍼 사용을 완료한 경우 StorPortPutScatterGatherList 루틴이 반환된 후 버퍼에 대한 메모리를 해제해야 합니다. 미니포트 드라이버가 StorPortAllocatePool 루틴을 사용하여 버퍼 메모리를 할당하는 경우 StorPortFreePool 루틴을 호출하여 메모리를 해제해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | storport.h(Storport.h 포함) |
IRQL | DISPATCH_LEVEL |
DDI 규정 준수 규칙 | StorPortIrql(storport) |