Gestione dei criteri del commutatore

È possibile effettuare il provisioning e il provisioning delle estensioni del commutatore estendibili Hyper-V con le proprietà delle proprietà del commutatore personalizzato. Dopo il provisioning, queste estensioni applicano i criteri quando filtrano i pacchetti ottenuti nel percorso dati di ingresso estendibile. Per altre informazioni su questi criteri, vedere Cambia criteri.

L'interfaccia commutatore estendibile Hyper-V usa gli identificatori di oggetto seguenti (OID) per effettuare il provisioning di estensioni di filtro e inoltro con le proprietà dei criteri di commutatore personalizzati:

OID_SWITCH_PROPERTY_ADD
Questa richiesta di set OID viene emessa dal bordo del protocollo del commutatore estendibile per notificare le estensioni sottostanti dell'aggiunta di una proprietà al livello di gestione WMI. InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_SWITCH_PROPERTY_PARAMETERS.

Nota Le proprietà del commutatore personalizzato vengono specificate da un valore di enumerazione NDIS_SWITCH_PROPERTY_TYPE di NdisSwitchPropertyTypeCustom.

OID_SWITCH_PROPERTY_UPDATE
Questa richiesta di set OID viene emessa dal bordo del protocollo del commutatore estendibile per notificare le estensioni sottostanti dell'aggiornamento di una proprietà nel livello di gestione WMI. InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_SWITCH_PROPERTY_PARAMETERS.

OID_SWITCH_PROPERTY_DELETE
Questa richiesta di set OID viene emessa dal bordo del protocollo del commutatore estendibile per notificare le estensioni sottostanti dell'eliminazione di una proprietà nel livello di gestione WMI. InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS.

OID_SWITCH_PROPERTY_ENUM
Questa richiesta di metodo OID viene inviata dall'estensione per eseguire una query sul bordo miniport sottostante dell'commutatore estendibile sulle proprietà del commutatore attualmente configurato sul commutatore estendibile. InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a un buffer. Questo buffer contiene i dati seguenti:

Nota L'estensione non deve originare richieste di set OID di OID_SWITCH_PROPERTY_ADD. OID_SWITCH_PROPERTY_UPDATE o OID_SWITCH_PROPERTY_DELETE.

L'estensione del commutatore estendibile deve seguire queste linee guida quando gestisce una richiesta di set OID di OID_SWITCH_PROPERTY_ADD, OID_SWITCH_PROPERTY_UPDATE o OID_SWITCH_PROPERTY_DELETE:

  • L'estensione non deve modificare la NDIS_SWITCH_PROPERTY_PARAMETERS o la struttura NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS associata alla richiesta OID.

  • L'estensione deve gestire una richiesta OID_SWITCH_PROPERTY_UPDATE o OID_SWITCH_PROPERTY_DELETE impostata se l'estensione è stata eseguita in precedenza con una proprietà switch corrispondente ai membri seguenti della strutturaNDIS_SWITCH_PROPERTY_PARAMETERS o NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS:

    • Membro PropertyType che specifica il tipo di proprietà switch.

      Nota A partire da NDIS 6.30, solo le proprietà switch di NdisSwitchPropertyTypeCustom vengono specificate dalle strutture NDIS_SWITCH_PROPERTY_PARAMETERS o NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS .

    • Membro PropertyId che specifica un valore GUID proprietario riconosciuto dall'estensione. Questo valore GUID viene creato dal fornitore di software indipendente (ISV) che definisce anche il formato della proprietà dei criteri di commutatore estendibile personalizzata.

      Nota Una proprietà dei criteri di commutatore estendibile personalizzata è contenuta in una struttura NDIS_SWITCH_PROPERTY_CUSTOM .

  • Se l'estensione gestisce queste richieste di set OID, l'estensione deve aggiornare o eliminare i criteri di opzione corrispondenti ai membri seguenti della struttura NDIS_SWITCH_PROPERTY_PARAMETERS :

    • Membro PropertyVersion che specifica la versione del criterio di commutatore estendibile.

    • Membro PropertyInstanceId che specifica l'istanza del criterio di commutatore estendibile.

    Se i valori di questi membri non corrispondono a una proprietà dei criteri switch per cui l'estensione è stata eseguita in precedenza, l'estensione deve non riuscire la richiesta del set OID con NDIS_STATUS_INVALID_PARAMETER. In caso contrario, l'estensione deve completare la richiesta del set OID e restituire NDIS_STATUS_SUCCESS.

  • L'estensione di filtro o inoltro può veto l'aggiunta, l'eliminazione o l'aggiornamento di un criterio di opzione. L'estensione esegue questa operazione completando la richiesta OID con STATUS_DATA_NOT_ACCEPTED.

    Nota L'acquisizione di estensioni non deve vetare l'aggiunta o l'aggiornamento di un criterio di cambio. Invece, deve inoltrare la richiesta OID verso il basso il percorso del controllo commutatore estendibile.

  • Se l'estensione di acquisizione o filtro gestisce correttamente la richiesta del set OID per un criterio di commutatore personalizzato, non deve completare la richiesta OID e deve inoltrarla verso il basso il percorso di controllo commutatore estendibile.

    Se l'estensione di inoltro gestisce correttamente la richiesta del set OID per un criterio di commutatore personalizzato, deve completare la richiesta OID e restituire il valore NDIS_STATUS_Xxx appropriato.

  • Se l'estensione non completa la richiesta del set OID, deve chiamare NdisFOidRequest per inoltrare la richiesta OID nello stack di driver del commutatore estendibile. In questo caso, le estensioni devono monitorare lo stato di completamento dell'OID per rilevare se un'estensione sottostante ha avuto esito negativo nella richiesta OID.