Partilhar via


Gerenciando políticas de switch

As extensões de filtragem e encaminhamento extensíveis do switch Hyper-V podem ser provisionadas com as propriedades dos switches personalizados. Depois de serem provisionadas, essas extensões impõem as políticas ao filtrarem pacotes obtidos na entrada do caminho de dados do switch extensível. Para obter mais informações sobre essas políticas, consulte Alternar políticas.

A interface de switch extensível Hyper-V usa os seguintes identificadores de objeto (OIDs) para provisionar extensões de filtragem e encaminhamento com as propriedades de diretivas de switch personalizadas:

OID_SWITCH_PROPERTY_ADD
A solicitação de definição de OID é emitida pela borda de protocolo do switch extensível para notificar as extensões subjacentes sobre a adição de uma propriedade na camada de gestão WMI. O InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_PROPERTY_PARAMETERS .

Observação As propriedades de switch personalizadas são especificadas por um valor de enumeração NDIS_SWITCH_PROPERTY_TYPE de NdisSwitchPropertyTypeCustom.

OID_SWITCH_PROPERTY_UPDATE
Essa solicitação de conjunto OID é emitida pela borda de protocolo do switch extensível para notificar as extensões subjacentes da atualização de uma propriedade na camada de gerenciamento WMI. O InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_PROPERTY_PARAMETERS .

OID_SWITCH_PROPERTY_DELETE
Este pedido de definição de OID é emitido pela interface de protocolo do switch extensível para notificar as extensões subjacentes da eliminação de uma propriedade na camada de gestão WMI. O InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS .

OID_SWITCH_PROPERTY_ENUM
Essa solicitação de método OID é enviada pela extensão para consultar a borda de miniporta subjacente do switch extensível sobre as propriedades do switch atualmente configuradas no switch extensível. O InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer. Este buffer contém os seguintes dados:

Observação A extensão não deve originar solicitações de conjunto OID de OID_SWITCH_PROPERTY_ADD. OID_SWITCH_PROPERTY_UPDATE, ou OID_SWITCH_PROPERTY_DELETE.

A extensão de switch extensível deve seguir estas diretrizes quando lida com uma solicitação de conjunto OID de OID_SWITCH_PROPERTY_ADD, OID_SWITCH_PROPERTY_UPDATE ou OID_SWITCH_PROPERTY_DELETE:

  • A extensão não deve modificar a estrutura NDIS_SWITCH_PROPERTY_PARAMETERS ou NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS associada à solicitação OID.

  • A extensão deve lidar com um pedido de definição de OID_SWITCH_PROPERTY_UPDATE ou OID_SWITCH_PROPERTY_DELETE se a extensão tiver sido anteriormente configurada com uma propriedade do switch que corresponda aos seguintes membros da estrutura NDIS_SWITCH_PROPERTY_PARAMETERS ou NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS:

    • O membro PropertyType que especifica o tipo de propriedade do interruptor.

      Observação A partir do NDIS 6.30, somente as propriedades de switch de NdisSwitchPropertyTypeCustom são especificadas pelas estruturas NDIS_SWITCH_PROPERTY_PARAMETERS ou NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS .

    • O membro PropertyId que especifica um valor GUID proprietário que a extensão reconhece. Este valor GUID é criado pelo fornecedor independente de software (ISV), que também define o formato da propriedade de política personalizada e extensível do switch.

      Observação Uma propriedade de política de switch extensível personalizada está contida em uma estrutura NDIS_SWITCH_PROPERTY_CUSTOM .

  • Se a extensão processar estas solicitações de definição OID, deve atualizar ou excluir a política de switch que corresponde aos seguintes membros da estrutura NDIS_SWITCH_PROPERTY_PARAMETERS:

    • O membro PropertyVersion que especifica a versão da política de switch extensível.

    • O membro PropertyInstanceId que especifica a instância da política de switch extensível.

    Se os valores desses membros não corresponderem a uma propriedade de política de switch para a qual a extensão foi provisionada anteriormente, a extensão deve falhar na solicitação de definição do OID com NDIS_STATUS_INVALID_PARAMETER. Caso contrário, a extensão deve concluir a solicitação de conjunto OID e retornar NDIS_STATUS_SUCCESS.

  • A extensão de filtragem ou encaminhamento pode vetar a adição, exclusão ou atualização de uma política de switch. A extensão faz isso ao completar a solicitação de OID com STATUS_DATA_NOT_ACCEPTED.

    Observação A captura de extensões não deve vetar a adição ou atualização de uma política de switch. Em vez disso, deve encaminhar a solicitação OID pelo caminho de controlo do switch extensível.

  • Se a extensão de captura ou de filtragem manipular com êxito a solicitação de conjunto OID para uma política de switch personalizada, não deverá concluir a solicitação OID, devendo encaminhá-la para baixo no caminho de controlo do switch extensível.

    Se a extensão de encaminhamento tratar com êxito a solicitação de conjunto OID para uma política de switch personalizada, ela deverá concluir a solicitação OID e retornar o valor NDIS_STATUS_Xxx apropriado.

  • Se a extensão não concluir a solicitação de definição de OID, ela deverá chamar NdisFOidRequest para encaminhar a solicitação OID ao longo da pilha de drivers do switch extensível. Nesse caso, as extensões devem monitorar o status de conclusão do OID para detetar se uma extensão subjacente falhou na solicitação do OID.