Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En överdrivande drivrutin utfärdar en begäran om objektidentifierare (OID) för OID_SRIOV_WRITE_VF_CONFIG_SPACE för att skriva data till PCI Express-konfigurationsutrymmet (PCIe) för en angiven virtuell PCIe-funktion (VF) på nätverkskortet.
Överdrivande drivrutiner utfärdar denna OID-uppsättningsbegäran till miniportdrivrutinen för nätverkskortets PCIe Physical Function (PF). Den här OID-metodbegäran krävs för PF-miniportdrivrutiner som stöder gränssnittet för enkel rot-I/O-virtualisering (SR-IOV).
InformationBuffer medlem i NDIS_OID_REQUEST-strukturen innehåller en pekare till en anropare allokerad buffert. Den här bufferten är formaterad så att den innehåller följande:
En NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS struktur som innehåller parametrarna för en skrivåtgärd av PCI-konfigurationsutrymmet för en VF.
Ytterligare buffertutrymme som innehåller de data som ska skrivas till PCI-konfigurationsutrymmet.
Anmärkningar
VF-miniportdrivrutinen körs i gästoperativsystemet för en Hyper-V underordnad partition. Därför kan inte VF-miniportdrivrutinen komma åt maskinvaruresurser direkt, till exempel VF:s PCI-konfigurationsutrymme. Endast PF-miniportdrivrutinen, som körs i hanteringsoperativsystemet för en Hyper-V överordnad partition, kan komma åt PCI-konfigurationsutrymmet för en virtuell hårddisk.
Den överliggande drivrutinen, till exempel virtualiseringsstacken, utfärdar OID-uppsättningens begäran om OID_SRIOV_WRITE_VF_CONFIG_SPACE när VF-miniportdrivrutinen anropar NdisMSetBusData för att skriva till sitt PCI-konfigurationsutrymme.
När den hanterar begäran om OID-metoden för OID_SRIOV_WRITE_VF_CONFIG_SPACE måste PF-miniportdrivrutinen följa dessa riktlinjer:
PF-miniportdrivrutinen måste kontrollera att den virtuella hårddisken, som anges av VFId medlem i NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS struktur, har resurser som tidigare har allokerats. PF-miniportdrivrutinen allokerar resurser för en VF via en OID-metodbegäran för OID_NIC_SWITCH_ALLOCATE_VF.
Om resurser för den angivna virtuella hårddisken inte har allokerats måste drivrutinen misslyckas med OID-begäran.
PF-miniportdrivrutinen anropar NdisMSetVirtualFunctionBusData för att skriva till det begärda PCI-konfigurationsutrymmet. Pf-miniportdrivrutinen kan dock också returnera PCI-konfigurationsutrymmesdata för den virtuella resursen som drivrutinen har cachelagrat från tidigare läs- eller skrivåtgärder i PCI-konfigurationsutrymmet.
Note Om en oberoende maskinvaruleverantör (IHV) tillhandahåller en virtuell busschaufför (VBD) som en del av sitt SR-IOV drivrutinspaketfår dess PF-miniportdrivrutin inte anropa NdisMSetVirtualFunctionBusData. I stället måste drivrutinen interagera med VBD via en privat kommunikationskanal och begära att VBD-anropet SetVirtualFunctionData. Den här funktionen exponeras från GUID_VPCI_INTERFACE_STANDARD-gränssnittet som stöds av den underliggande VPCI-bussdrivrutinen (virtual PCI).
Om PF-miniportdrivrutinen kan slutföra OID-begäran måste drivrutinen kopiera begärda PCI-konfigurationsutrymmesdata till bufferten som refereras av InformationBuffer medlem i NDIS_OID_REQUEST-strukturen. Drivrutinen kopierar data till bufferten vid den förskjutning som anges av BufferOffset medlem i NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS struktur.
Mer information finns i Ställa in PCI-konfigurationsdata för en virtuell funktion.
Returstatuskoder
PF-miniportdrivrutinen returnerar någon av följande statuskoder för OID-uppsättningens begäran om OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Statuskod | Beskrivning |
---|---|
NDIS_STATUS_SUCCESS |
OID-begäran har slutförts. |
NDIS_STATUS_NOT_SUPPORTED |
PF-miniportdrivrutinen stöder antingen inte det enskilda rot-I/O-virtualiseringsgränssnittet (SR-IOV) eller så är den inte aktiverad för att använda gränssnittet. |
NDIS_STATUS_INVALID_PARAMETER |
En eller flera av medlemmarna i NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS struktur har ogiltiga värden. |
NDIS_STATUS_INVALID_LENGTH |
Informationsbufferten var för kort. NDIS anger DATA. SET_INFORMATION. BytesNeeded medlem i NDIS_OID_REQUEST struktur till den minsta buffertstorlek som krävs. |
NDIS_STATUS_FAILURE |
Begäran misslyckades av andra skäl. |
Krav
Version |
Stöds i NDIS 6.30 och senare. |
Rubrik |
Ntddndis.h (inkludera Ndis.h) |
Se även
NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS
NdisMSetVirtualFunctionBusData