NdisBuildScatterGatherList 함수(ndis.h)

NdisBuildScatterGatherList 함수는 지정된 매개 변수를 사용하여 분산/수집 목록을 빌드합니다.

구문

NDIS_STATUS NdisBuildScatterGatherList(
  [in] IN NDIS_HANDLE                          NdisHandle,
  [in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);

매개 변수

[in] NdisHandle

호출자 초기화 중에 가져온 NDIS 드라이버 또는 instance 핸들입니다. 예를 들어 미니포트 드라이버는 에서 가져온 NDIS 핸들을 사용할 수 있습니다. NdisMRegisterMiniportDriver 또는 MiniportInitializeEx 함수입니다. 다른 NDIS 드라이버는 다음 함수의 핸들을 사용할 수 있습니다.

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SGListParameters

에 대한 포인터 분산 /수집 목록을 할당하기 위한 매개 변수를 지정하는 NDIS_SCATTER_GATHER_LIST_PARAMETERS 구조체입니다.

반환 값

NdisBuildScatterGatherList는 다음 상태 값을 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
NDIS_STATUS_BUFFER_TOO_SHORT
ScatterGatherListBufferSize 멤버에 지정된 버퍼 길이 때문에 작업이 실패했습니다. NDIS_SCATTER_GATHER_LIST_PARAMETERS 구조가 너무 짧습니다. 이 경우 NDIS는 ScatterGatherListBufferSizeNeeded 멤버에 필요한 버퍼 크기를 제공했습니다.

설명

NDIS 드라이버는 NdisBuildScatterGatherList 함수를 호출하여 버퍼에 대한 분산/수집 목록을 작성합니다. 이 함수를 호출하기 위해 미니포트 드라이버는 미니포트 어댑터 핸들을 지정하거나 프로토콜 드라이버는 NDIS 바인딩 핸들을 지정합니다.

기본 미니포트 어댑터가 호출되어야 합니다. 드라이버가 NdisBuildScatterGatherList를 호출하기 전에 NdisMRegisterScatterGatherDma.

NDIS는 의 ProcessSGListHandler 멤버에 지정된 NetProcessSGList 함수를 호출합니다.NdisBuildScatterGatherList의 컨텍스트 내에서 구조체를 NDIS_SCATTER_GATHER_LIST_PARAMETERS.

드라이버는 다음을 호출해야 합니다. NdisFreeScatterGatherList 함수는 를 사용하여 만든 분산/수집 목록을 해제합니다. NdisBuildScatterGatherList 함수입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.20 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL = DISPATCH_LEVEL

추가 정보

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList