OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK
NDIS utfärdar en OID-metodbegäran (object identifier) för OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK för att meddela miniportdrivrutinen för en virtuell PCIe-funktion (PCIe) (PCI Express) att data inom ett eller flera konfigurationsblock har ändrats. NDIS utfärdar denna OID när miniportdrivrutinen för en PCIe Physical Function (PF) anropar NdisMInvalidateConfigBlock.
InformationBuffer medlem i NDIS_OID_REQUEST struktur innehåller en pekare till en NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO struktur. Den här strukturen anger ett eller flera VF-konfigurationsblock (Virtual Function) vars data har ändrats (ogiltigförklarats) av PF-miniportdrivrutinen.
Anmärkningar
Ett VF-konfigurationsblock används för backchannel-kommunikation mellan PF- och VF-miniportdrivrutinerna. IHV kan definiera ett eller flera VF-konfigurationsblock för enheten. Varje VF-konfigurationsblock har ett IHV-definierat format, längd och block-ID.
Note Data från varje VF-konfigurationsblock används endast av PF- och VF-miniportdrivrutinerna.
VF-konfigurationsdata utbyts mellan följande drivrutiner:
VF-drivrutinen, som körs i gästoperativsystemet. Det här operativsystemet körs inom en Hyper-V underordnad partition.
PF-drivrutinen, som körs i hanteringsoperativsystemet. Det här operativsystemet körs inom den Hyper-V överordnade partitionen.
För att hantera meddelanden om ogiltiga VF-konfigurationsdata utför NDIS och miniportdrivrutinerna följande steg:
I gästoperativsystemet utfärdar NDIS en I/O-kontrollbegäran för IOCTL_VPCI_INVALIDATE_BLOCK begäran. När denna IOCTL har slutförts meddelas NDIS att VF-konfigurationsdata har ändrats.
I hanteringsoperativsystemet utförs följande steg:
PF-miniportdrivrutinen anropar funktionen NdisMInvalidateConfigBlock för att meddela NDIS att VF-konfigurationsdata har ändrats och inte längre är giltiga. Drivrutinen anger parametern BlockMask till en ULONGLONG-bitmask som anger vilka VF-konfigurationsblock som har ändrats. Varje bit i bitmasken motsvarar ett VF-konfigurationsblock. Om biten är inställd på ett har data i motsvarande VF-konfigurationsblock ändrats.
NDIS signalerar virtualiseringsstacken, som körs i hanteringsoperativsystemet, om ändringen av VF-konfigurationsblockdata. Virtualiseringsstacken cachelagrar BlockMask- parameterdata.
Observera Varje gång som PF-miniportdrivrutinen anropar NdisMInvalidateConfigBlockvirtualiseringsstacken parameterdata med det aktuella värdet i cacheminnet.
Virtualiseringsstacken meddelar den virtuella PCI-drivrutinen (VPCI), som körs i gästoperativsystemet, om ogiltigheten av VF-konfigurationsdata. Virtualiseringsstacken skickar cachelagrade BlockMask parameterdata till VPCI-drivrutinen.
I gästoperativsystemet utförs följande steg:
VPCI-drivrutinen sparar cachelagrade BlockMask parameterdata i BlockMask medlem i den VPCI_INVALIDATE_BLOCK_OUTPUT struktur som är associerad med IOCTL_VPCI_INVALIDATE_BLOCK begäran.
VPCI-drivrutinen slutför IOCTL_VPCI_INVALIDATE_BLOCK begäran. När detta händer utfärdar NDIS en OID-metodbegäran av OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK till VF-miniportdrivrutinen. En NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO skickas vidare i OID-begäran. Den här strukturen innehåller cachelagrade BlockMask- parameterdata.
NDIS utfärdar också en annan IOCTL_VPCI_INVALIDATE_BLOCK begäran om att hantera efterföljande meddelanden om ändringar i VF-konfigurationsdata.
När VF-drivrutinen hanterar OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK begäran läser den data från de angivna VF-konfigurationsblocken.
Mer information om backchannel-kommunikation i det enda rot-I/O-virtualiseringsgränssnittet (SR-IOV) finns i SR-IOV PF/VF Backchannel Communication.
Returstatuskoder
Miniportdrivrutinen returnerar någon av följande statuskoder för OID-metodbegäran för OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK.
Statuskod | Beskrivning |
---|---|
NDIS_STATUS_SUCCESS |
OID-begäran har slutförts. |
NDIS_STATUS_NOT_SUPPORTED |
Miniportdrivrutinen stöder antingen inte det enda 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_VF_INVALIDATE_CONFIG_BLOCK_INFO 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 storleken på den NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO strukturen. |
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_VF_INVALIDATE_CONFIG_BLOCK_INFO