NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체(ndis.h)
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체는 패킷에 대한 Hyper-V 확장 가능한 스위치 대상 포트의 배열을 지정합니다. 배열의 각 요소는 NDIS_SWITCH_PORT_DESTINATION 구조체로 서식이 지정됩니다.
이 정보는 패킷의 NET_BUFFER_LIST 구조체의 OOB(out-of-band) 데이터에 포함되어 있습니다.
구문
typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
NDIS_OBJECT_HEADER Header;
UINT32 ElementSize;
UINT32 NumElements;
UINT32 NumDestinations;
PVOID FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;
멤버
Header
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.
헤더의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체의 버전을 지정하려면 Header의 Revision 멤버를 다음 값으로 설정해야 합니다.
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
NDIS 6.30 이상에 대한 원래 버전입니다.
Size 멤버를 NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1 설정합니다.
ElementSize
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체를 따르는 각 NDIS_SWITCH_PORT_DESTINATION 요소의 크기(바이트)를 지정하는 ULONG 값입니다.
NumElements
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체의 총 NDIS_SWITCH_PORT_DESTINATION 요소 수를 지정하는 ULONG 값입니다.
NumElements 멤버의 값은 현재 사용되는 NDIS_SWITCH_PORT_DESTINATION 요소 수(NumDestinations 멤버로 지정됨)와 새 대상 포트에 사용할 수 있는 요소 수를 지정합니다. NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조에서 사용되지 않는 NDIS_SWITCH_PORT_DESTINATION 요소의 수는 (NumElementsNumDestinations - )에 의해 계산됩니다.
NumDestinations
포트 대상을 지정하는 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체의 NDIS_SWITCH_PORT_DESTINATION 요소 수를 지정하는 ULONG 값입니다.
FirstElement
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조체와 모든 요소가 포함된 버퍼의 첫 번째 NDIS_SWITCH_PORT_DESTINATION 요소에 대한 포인터입니다.
설명
확장 가능한 스위치 확장은 패킷의 NET_BUFFER_LIST 구조에서 대상 포트를 사용하여 다음을 수행할 수 있습니다.
-
패킷이 전달될 확장 가능한 스위치에서 현재 대상 포트를 쿼리합니다.
확장 가능한 스위치 확장은 GetNetBufferListDestinations 함수를 호출하여 패킷에 대한 포트 대상의 배열을 가져옵니다. GetNetBufferListDestinations는 Destinations 매개 변수의 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조에 대한 포인터 를 반환합니다 .
자세한 내용은 패킷의 확장 가능한 스위치 대상 포트 데이터 쿼리를 참조하세요.
-
패킷의 대상 포트를 추가하거나 수정합니다.
패킷에 대한 현재 대상 포트를 쿼리한 후 확장 가능한 스위치 확장은 다음을 수행할 수 있습니다.
- 전달 확장은 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 구조에 새 대상 포트를 추가할 수 있습니다.
-
필터링 또는 전달 확장 프로그램은 대상 포트에 대한 NDIS_SWITCH_PORT_DESTINATION 구조 내의 데이터를 수정할 수 있습니다.
참고 필터링 확장은 이 구조체의 IsExcluded 멤버만 변경할 수 있습니다. 전달 확장은 PreserveVLAN 및 PreservePriority 멤버를 변경할 수도 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.30 이상에서 지원됩니다. |
머리글 | ndis.h(Ndis.h 포함) |
추가 정보