Zurücksetzen einer virtuellen Funktion
Ein überlastende Treiber gibt eine OID-Set-Anforderung (Object Identifier) von OID_SRIOV_RESET_VF aus, um eine angegebene PCI Express (PCIe) Virtual Function (VF) zurückzusetzen. Der VF ist eine Hardwarekomponente eines Netzwerkadapters, der die E/A-Virtualisierung eines einzelnen Stammes unterstützt. Überlastende Treiber stellen diese OID-Set-Anforderung an den Miniporttreiber des PCI Express (PCIe) Physical Function (PF) aus.
Der Virtualisierungsstapel wird beispielsweise im Verwaltungsbetriebssystem der übergeordneten Hyper-V-Partition ausgeführt. Bevor der Stapel eine VF von einer untergeordneten Hyper-V-Partition trennt, fordert er eine Funktionsebenenzurücksetzung (Function Level Reset, FLR) für die VF an. Da der FLR ein privilegierter Vorgang ist, kann er nur vom PF-Miniporttreiber ausgeführt werden, der auch im Verwaltungsbetriebssystem ausgeführt wird. Um eine FLR einer angegebenen VF anzufordern, gibt der Virtualisierungsstapel die OID_SRIOV_RESET_VFAnforderung an den PF-Miniporttreiber aus.
Bevor er diese OID-Setanforderung ausgibt, muss der überlastende Treiber eine NDIS_SRIOV_RESET_VF_PARAMETERS Struktur initialisieren. Der Treiber muss den VFId-Member auf den Bezeichner der zurückgesetzten VF festlegen.
Wenn er diese OID-Anforderung verarbeitet, muss der PF-Miniporttreiber die folgenden Richtlinien befolgen:
Der PF-Miniporttreiber muss überprüfen, ob der VF, der vom VFId-Member der NDIS_SRIOV_RESET_VF_PARAMETERS-Struktur angegeben wird, Ressourcen aufweist, die zuvor zugewiesen wurden. Der PF-Miniporttreiber weist ressourcen für eine VF während einer OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF zu. Wenn ressourcen für die angegebene VF nicht zugewiesen wurden, muss der Treiber die OID-Anforderung nicht ausführen.
Der Zurücksetzungsvorgang darf sich nur auf die angegebene VF auswirken. Der Vorgang darf sich nicht auf andere VFs oder die PF auf demselben Netzwerkadapter auswirken.