다음을 통해 공유


NET_BUFFER_LIST 구조체

NET_BUFFER_LIST 구조체는 연결된 NET_BUFFER 구조 목록을 패키지합니다.

다음 그림에서는 NET_BUFFER_LIST 구조체의 필드를 보여줍니다.

NET_BUFFER_LIST 구조체의 필드를 보여 주는 다이어그램

NET_BUFFER_LIST 구조체에는 NetBufferListHeader 멤버의 NET_BUFFER_LIST_HEADER 구조체가 포함됩니다. NET_BUFFER_LIST_HEADER 구조체에는 NetBufferListData 멤버의 NET_BUFFER_LIST_DATA 구조체가 포함됩니다. NDIS 매크로를 사용하여 NET_BUFFER_LIST 구조체 멤버에 액세스해야 합니다. 이러한 매크로에 대한 자세한 내용은 NET_BUFFER_LIST 구조체 참조 페이지를 참조하세요.

일부 멤버는 NDIS에서만 사용됩니다. 드라이버에서 사용할 가능성이 가장 큰 멤버는 다음 목록에 정의되어 있습니다.

ParentNetBufferList
NET_BUFFER_LIST 구조체가 부모(복제, 조각화 또는 재조립됨)에서 파생된 자식인 경우 ParentNetBufferList 부모 NET_BUFFER_LIST 구조체에 대한 포인터를 지정합니다. 그렇지 않으면 이 매개 변수는 NULL입니다.

NdisPoolHandle
NET_BUFFER_LIST 구조가 할당된 NET_BUFFER_LIST 풀을 식별하는 풀 핸들을 지정합니다.

프로토콜 예약됨
프로토콜 드라이버에서 사용하도록 예약되어 있습니다.

MiniportReserved
미니포트 드라이버에서 사용하도록 예약되어 있습니다.

SourceHandle
다음 드라이버 제공 루틴 중 하나를 사용하여 바인딩 또는 연결 작업에서 NDIS가 드라이버에 제공한 핸들입니다.

미니포트 드라이버
MiniportInitializeEx

프로토콜 드라이버
ProtocolBindAdapterEx

필터 드라이버
필터부착

NDIS는 SourceHandle 사용하여 NET_BUFFER_LIST 구조를 보낸 드라이버에 NET_BUFFER_LIST 구조를 반환합니다. NDIS 드라이버는 이 핸들을 읽지 않아야 합니다.

ChildRefCount
NET_BUFFER_LIST 구조체가 부모인 경우(복제, 조각 또는 재조립 작업에서 파생된 자식이 있음) ChildRefCount 기존 자식 수를 지정합니다. 그렇지 않으면 이 매개 변수는 0입니다.

깃발
NET_BUFFER_LIST 구조체의 속성에 대한 향후 정의를 위해 예약되었습니다. 현재 드라이버에 사용할 수 있는 플래그가 없습니다.

상태
이 NET_BUFFER_LIST 구조에 대한 네트워크 데이터 작업의 최종 완료 상태를 지정합니다. 미니포트 드라이버는 보내기 작업을 완료하기 전에 이 값을 씁니다.

NetBufferListInfo
목록의 모든 NET_BUFFER 구조체에 공통적인 NET_BUFFER_LIST 구조체 정보를 지정합니다. 이 정보를 "대역 외(OOB) 데이터"라고도 합니다.

다음
연결된 NET_BUFFER_LIST 구조 목록의 다음 NET_BUFFER_LIST 구조체에 대한 포인터를 지정합니다. NET_BUFFER_LIST 구조체가 목록의 마지막 구조체인 경우 이 멤버는 NULL .

FirstNetBuffer
이 NET_BUFFER_LIST 구조체와 연결된 NET_BUFFER 구조체의 연결된 목록에서 첫 번째 NET_BUFFER 구조체에 대한 포인터를 지정합니다.

노트컨텍스트NET_BUFFER_LIST_CONTEXT 구조체를 가리키는 포인터입니다. NDIS는 Context 데이터를 조작하는 매크로 및 함수를 제공합니다. NET_BUFFER_LIST_CONTEXT 구조체에 대한 자세한 내용은 NET_BUFFER_LIST_CONTEXT 구조체참조하세요.