OID_SRIOV_WRITE_VF_CONFIG_SPACE
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