사용자 지정 스위치 속성의 특성을 사용하여 확장 가능한 스위치 필터링 및 전달 확장 기능을 Hyper-V으로 프로비저닝할 수 있습니다. 프로비전되면 이러한 확장은 확장 가능한 스위치 수신 데이터 경로에서 가져온 패킷을 필터링할 때 정책을 적용합니다. 이러한 정책에 대한 자세한 내용은 정책 전환참조하세요.
Hyper-V 확장 가능한 스위치 인터페이스는 다음 OID(개체 식별자)를 사용하여 사용자 지정 스위치 정책의 속성을 사용하여 필터링 및 전달 확장을 프로비전합니다.
OID_SWITCH_PROPERTY_ADD
이 OID 집합 요청은 WMI 관리 계층에 속성이 추가되었음을 기본 확장에 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다.
InformationBuffer는 NDIS_OID_REQUEST 구조체의 NDIS_SWITCH_PROPERTY_PARAMETERS 구조체에 대한 포인터를 포함합니다.
참고 사용자 지정 스위치 속성은 NdisSwitchPropertyTypeCustom값을 가지는 NDIS_SWITCH_PROPERTY_TYPE 열거형으로 지정됩니다.
OID_SWITCH_속성_업데이트
이 OID 집합 요청은 확장 가능한 스위치의 프로토콜 측에서 발급되어 WMI 관리 계층에서 속성 업데이트에 대한 기저 확장 기능을 알립니다.
InformationBuffer는 NDIS_OID_REQUEST 구조체의 NDIS_SWITCH_PROPERTY_PARAMETERS 구조체에 대한 포인터를 포함합니다.
OID_SWITCH_PROPERTY_DELETE
이 OID 집합 요청은 WMI 관리 계층에서 속성 삭제의 기본 확장을 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다.
NDIS_OID_REQUEST 구조체의 InformationBufferNDIS_SWITCH_PROPERTY_DELETE_PARAMETERS 구조체에 대한 포인터를 포함합니다.
OID_SWITCH_PROPERTY_ENUM
이 OID 메서드 요청은 확장 가능한 스위치에서 현재 구성된 스위치 속성에 대한 확장 가능한 스위치의 기본 미니포트 에지를 쿼리하기 위해 확장에서 전송됩니다.
InformationBuffer는 NDIS_OID_REQUEST 구조체 내 버퍼에 대한 포인터를 포함합니다. 이 버퍼에는 다음 데이터가 포함됩니다.
스위치 정책의 속성 열거형에 대한 매개 변수를 지정하는 NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS 구조체입니다.
NDIS_SWITCH_PROPERTY_ENUM_INFO 구조체의 배열입니다. 이러한 각 구조에는 스위치 정책의 속성에 대한 정보가 포함됩니다.
참고NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS 구조체의 NumProperties 멤버가 0으로 설정된 경우 NDIS_SWITCH_PROPERTY_ENUM_INFO 구조체가 반환되지 않습니다.
참고 확장은 OID_SWITCH_PROPERTY_ADDOID 설정 요청을 생성해서는 안 됩니다. OID_SWITCH_PROPERTY_UPDATE또는 OID_SWITCH_PROPERTY_DELETE.
확장 가능한 스위치 확장은 OID_SWITCH_PROPERTY_ADD, OID_SWITCH_PROPERTY_UPDATE또는 OID_SWITCH_PROPERTY_DELETEOID 집합 요청을 처리할 때 다음 지침을 따라야 합니다.
확장은 OID 요청과 연결된 NDIS_SWITCH_PROPERTY_PARAMETERS 또는 NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS 구조를 수정해서는 안됩니다.
확장이 이전에 NDIS_SWITCH_PROPERTY_PARAMETERS 또는 NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS 구조의 다음 멤버와 일치하는 switch 속성으로 프로비전된 경우 확장은 OID_SWITCH_PROPERTY_UPDATE 또는 OID_SWITCH_PROPERTY_DELETE 집합 요청을 처리해야 합니다.
switch 속성의 형식을 지정하는 PropertyType 멤버입니다.
참고 NDIS 6.30부터 NdisSwitchPropertyTypeCustom 스위치 속성만 NDIS_SWITCH_PROPERTY_PARAMETERS 또는 NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS 구조체에 의해 지정됩니다.
확장에서 인식하는 독점 GUID 값을 지정하는 PropertyId 멤버입니다. 이 GUID 값은 사용자 지정 확장 가능한 스위치 정책 속성의 형식도 정의하는 ISV(독립 소프트웨어 공급업체)에 의해 생성됩니다.
참고 사용자 지정 확장 가능한 스위치 정책 속성은 NDIS_SWITCH_PROPERTY_CUSTOM 구조 내에 포함됩니다.
확장에서 이러한 OID 집합 요청을 처리하는 경우 확장은 NDIS_SWITCH_PROPERTY_PARAMETERS 구조의 다음 멤버와 일치하는 스위치 정책을 업데이트하거나 삭제해야 합니다.
확장 가능한 스위치 정책의 버전을 지정하는 PropertyVersion 멤버입니다.
확장 가능한 스위치 정책의 인스턴스를 지정하는 PropertyInstanceId 멤버입니다.
이러한 멤버의 값이 확장이 이전에 프로비전된 스위치 정책 속성과 일치하지 않는 경우 확장은 NDIS_STATUS_INVALID_PARAMETER OID 집합 요청에 실패해야 합니다. 그렇지 않으면 확장이 OID 집합 요청을 완료하고 NDIS_STATUS_SUCCESS 반환해야 합니다.
필터링 또는 전달 확장은 스위치 정책의 추가, 삭제 또는 업데이트를 거부할 수 있습니다. 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID 요청을 완료하여 이 작업을 수행합니다.
캡처 확장은 스위치 정책의 추가 또는 업데이트를 거부해서는 안 됩니다. 대신 확장 가능한 스위치 제어 경로 아래로 OID 요청을 전달해야 합니다.
캡처 또는 필터링 확장이 사용자 지정 스위치 정책에 대한 OID 집합 요청을 성공적으로 처리하는 경우 OID 요청을 완료하지 않아야 하며 확장 가능한 스위치 제어 경로 아래로 전달해야 합니다.
전달 확장이 사용자 지정 스위치 정책에 대한 OID 집합 요청을 성공적으로 처리하는 경우 OID 요청을 완료하고 적절한 NDIS_STATUS_Xxx 값을 반환해야 합니다.
확장이 OID 집합 요청을 완료하지 않으면 NdisFOidRequest 호출하여 확장 가능한 스위치 드라이버 스택 아래로 OID 요청을 전달해야 합니다. 이 경우 확장은 OID의 완료 상태를 모니터링하여 기본 확장이 OID 요청에 실패했는지 여부를 감지해야 합니다.