다음을 통해 공유


헤더-데이터 분할 공급자 초기화

헤더 데이터 분할을 지원하려면 미니포트 드라이버가 NDIS 6.1 이상 드라이버로 등록해야 합니다. 미니포트 드라이버의 소스 파일은 DNDIS60_MINIPORT=1 대신 DNDIS61_MINIPORT=1을 지정해야 합니다. 또한 미니포트 드라이버는 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 구조에서 NDIS 6.1 이상 버전을 지정해야 합니다.

헤더-데이터 분할 특성을 등록하기 위해, NDIS 6.1 미니포트 드라이버는 자신의 MiniportInitializeEx 함수에서 NdisMSetMiniportAttributes 함수를 호출하고, 초기화된 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체를 NdisMSetMiniportAttributes에 전달합니다.

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체에는 다음 정보가 포함됩니다.

  • HDSplitAttributes NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 멤버에는 미니포트 어댑터가 제공하는 헤더-데이터 분할 기능을 지정하는 NDIS_HD_SPLIT_ATTRIBUTES 구조체에 대한 포인터가 포함되어 있습니다.

  • NDIS_HD_SPLIT_ATTRIBUTES의 HardwareCapabilities 멤버에는 미니포트 어댑터가 지원하는 헤더 및 데이터 분할 기능이 포함되어 있습니다. 이러한 기능에는 현재 INF 파일 설정 또는 고급 속성 페이지를 통해 사용하지 않도록 설정된 기능이 포함될 수 있습니다.

  • NDIS_HD_SPLIT_ATTRIBUTES의 CurrentCapabilities 멤버에는 미니포트 어댑터가 지원하는 현재 헤더-데이터 분할 기능이 포함되어 있습니다. *HeaderDataSplit 표준화된 INF 키워드를 통해 헤더 데이터 분할을 사용하도록 설정하면 미니포트 드라이버는 HardwareCapabilities 멤버와 동일한 플래그를 사용하여 현재 헤더-데이터 분할 구성을 나타냅니다. *HeaderDataSplit에 대한 자세한 정보는 Header-Data 분할 를 위한표준화된 INF 키워드를 참조하세요.

  • NDIS_HD_SPLIT_ATTRIBUTES HDSplitFlags 멤버에는 헤더-데이터 분할 구성 플래그가 포함됩니다. 미니포트 드라이버는 NdisMSetMiniportAttributes호출하기 전에 이 멤버를 0으로 설정해야 합니다. NDIS는 구성 플래그의 비트 OR로 이 멤버를 설정합니다. NdisMSetMiniportAttributes가 성공적으로 반환되면 미니포트 드라이버는 HDSplitFlags 플래그 설정을 확인하고 그에 따라 하드웨어를 구성해야 합니다.

NDIS는 NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT 플래그를 사용하여 미니포트 어댑터에 대한 헤더 데이터 분할을 사용하도록 설정합니다. 미니포트 드라이버가 NDIS_HD_SPLIT_ATTRIBUTES 구조의 CurrentCapabilities 멤버에서 NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT 플래그를 설정하지 않은 경우, NDIS는 NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT를 설정하지 않습니다. NDIS가 NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT 플래그를 설정하는 경우 미니포트 드라이버는 NIC에서 헤더 데이터 분할을 사용하도록 설정해야 합니다.

미니포트 드라이버는 NdisMSetMiniportAttributes호출하기 전에 NDIS_HD_SPLIT_ATTRIBUTES 구조체의 BackfillSize 멤버를 0으로 설정해야 합니다. 미니포트 드라이버가 분할 프레임의 데이터 버퍼에 백필 스토리지를 미리 할당해야 하는 경우 NDIS는 BackfillSize 멤버를 설정합니다. NdisMSetMiniportAttributes 성공적으로 반환되면 미니포트 드라이버는 NDIS가 지정한 BackfillSize 값을 사용하고 데이터 버퍼를 미리 할당해야 합니다. 데이터 버퍼 백필 크기에 대한 자세한 내용은 데이터 버퍼 대한 백필 할당참조하세요.

미니포트 드라이버는 NdisMSetMiniportAttributes호출하기 전에 NDIS_HD_SPLIT_ATTRIBUTES 구조체의 MaxHeaderSize 멤버를 0으로 설정해야 합니다. NDIS는 이 멤버를 분할 프레임의 헤더 버퍼에 허용되는 최대 크기로 설정합니다. NdisMSetMiniportAttributes 성공적으로 반환되면 미니포트 드라이버는 NDIS가 지정한 MaxHeaderSize 값을 사용해야 합니다. 최대 헤더 크기에 대한 자세한 내용은 '헤더 버퍼 할당'를 참조하십시오.