헤더 데이터 분할 공급자는 수신 표시를 위해 NET_BUFFER_LIST 구조의 NblFlags 멤버에서 헤더-데이터 분할 플래그를 설정해야 합니다. 분할 프레임의 경우 NIC는 각 NET_BUFFER 구조의 DataPhysicalAddress 멤버에서 수신된 프레임의 데이터 부분의 실제 주소를 제공해야 합니다.
참고 미니포트 드라이버는 NET_BUFFER 분할 프레임과 연결되지 않은 경우에도 NET_BUFFER 구조체의 DataPhysicalAddress 멤버를 설정할 수 있습니다. 이 경우 DataPhysicalAddress 헤더 MDL의 실제 주소를 포함합니다.
헤더 데이터 분할 공급자는 NblFlags 멤버의 플래그를 비트 OR 연산과 결합합니다.
헤더 데이터 분할 공급자는 프레임을 분할하지 않더라도 다음 플래그를 설정할 수 있습니다.
NDIS_NBL_FLAGS_IS_IPV4
NET_BUFFER_LIST 모든 프레임은 IPv4 프레임입니다. 이 플래그를 설정하면 NDIS_NBL_FLAGS_IS_IPV6 플래그를 설정해서는 안 됩니다.
NDIS_NBL_FLAGS_IS_IPV6
NET_BUFFER_LIST 모든 프레임은 IPv6 프레임입니다. 이 플래그를 설정하면 NDIS_NBL_FLAGS_IS_IPV4 플래그를 설정하면 안 됩니다.
NDIS_NBL_FLAGS_IS_TCP (NDIS 네트워킹 데이터 패킷의 TCP 플래그)
NET_BUFFER_LIST 모든 프레임은 TCP 프레임입니다. 이 플래그가 설정되면 NDIS_NBL_FLAGS_IS_UDP 설정하면 안 됩니다. NDIS_NBL_FLAGS_IS_IPV4 또는 NDIS_NBL_FLAGS_IS_IPV6 설정해야 합니다.
NDIS_NBL_FLAGS_IS_UDP
NET_BUFFER_LIST 모든 프레임은 UDP 프레임입니다. 이 플래그가 설정되면 NDIS_NBL_FLAGS_IS_TCP 설정하면 안 됩니다. NDIS_NBL_FLAGS_IS_IPV4 또는 NDIS_NBL_FLAGS_IS_IPV6 설정해야 합니다.
모든 NDIS 드라이버는 디버깅, 테스트 또는 기타 용도로 이전 플래그를 설정할 수 있습니다. 드라이버가 이러한 플래그를 설정하는 경우 값은 수신된 프레임의 내용을 정확하게 설명해야 합니다. 이러한 플래그를 설정하는 것이 좋습니다.
헤더-데이터 분할 공급자는 다음 헤더-데이터 분할 플래그를 설정할 수 있습니다.
NDIS_NBL_FLAGS_HD_SPLIT
헤더와 데이터는 NET_BUFFER_LIST 구조와 연결된 모든 이더넷 프레임으로 분할됩니다.
NDIS_NBL_FLAGS_상위 계층 프로토콜 헤더에서 분할됨
NET_BUFFER_LIST 구조체의 모든 프레임은 상층 프로토콜 헤더 시작 부분에서 분할됩니다. 이 플래그가 설정된 경우 NDIS_NBL_FLAGS_IS_IPV4 또는 NDIS_NBL_FLAGS_IS_IPV6 설정해야 합니다. 또한 NDIS_NBL_FLAGS_IS_TCP 또는 NDIS_NBL_FLAGS_IS_UDP 설정할 수 있습니다. 그리고 NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD 설정해서는 안됩니다.
NDIS_NBL_FLAGS_상위 레이어 프로토콜 페이로드에서 분할
NET_BUFFER_LIST 구조의 모든 프레임은 TCP 페이로드 시작 또는 UDP 페이로드 시작 부분에서 분할됩니다. 이 플래그가 설정된 경우 NDIS_NBL_FLAGS_IS_IPV4 또는 NDIS_NBL_FLAGS_IS_IPV6 설정해야 합니다. NDIS_NBL_FLAGS_IS_TCP 또는 NDIS_NBL_FLAGS_IS_UDP 설정해야 합니다. 또한 NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER는 설정되어서는 안 됩니다.
헤더 데이터 분할 공급자가 프레임을 분할하지 않는 경우 NblFlags 다음 플래그가 지워진 상태로 프레임을 표시해야 합니다.
NDIS_NBL_FLAGS_HD_SPLIT
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD