Delen via


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

Een overliggend stuurprogramma geeft een OID-setaanvraag (object-id) van OID_SRIOV_WRITE_VF_CONFIG_BLOCK voor het schrijven van gegevens naar een CONFIGURATIEblok van PCI Express (PCIe) Virtual Function (VF).

Bij het overliggen van stuurprogramma's wordt deze OID-setaanvraag verzonden naar het minipoortstuurprogramma voor de PCIe Physical Function (PF) van de netwerkadapter. Deze OID-methodeaanvraag is vereist voor PF-minipoortstuurprogramma's die ondersteuning bieden voor de I/O-interface met één hoofdmap (SR-IOV).

De InformationBuffer lid van de NDIS_OID_REQUEST structuur bevat een aanwijzer naar een aanroeper toegewezen buffer. Deze buffer is opgemaakt om het volgende te bevatten:

  • Een NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structuur met de offset, in eenheden van bytes, van het begin van deze structuur tot een locatie binnen de buffer die de gegevens bevat die naar het VF-configuratieblok worden geschreven.

  • Extra bufferruimte voor de gegevens die naar het opgegeven VF-configuratieblok moeten worden geschreven.

Opmerkingen

Er wordt een VF-configuratieblok gebruikt voor backchannelcommunicatie tussen de PF- en VF-minipoortstuurprogramma's. De IHV kan een of meer VF-configuratieblokken definiëren voor de minipoortstuurprogramma's. Elk VF-configuratieblok heeft een door IHV gedefinieerde indeling, lengte en blok-id.

Opmerking Gegevens uit elk VF-configuratieblok alleen worden gebruikt door de PF- en VF-minipoortstuurprogramma's.

Voordat de OID-setaanvraag van OID_SRIOV_WRITE_VF_CONFIG_BLOCK wordt opgegeven, moet het bovenliggende stuurprogramma de leden van NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structuur op de volgende manier instellen:

  • Stel de VFId lid in op de id van de VF waarvoor de informatie moet worden geschreven.

  • Stel de BlockId lid in op de id van het configuratieblok waaruit de informatie moet worden geschreven.

  • Stel het Lengte lid in op het aantal bytes dat moet worden geschreven naar het VF-configuratieblok.

  • Stel de BufferOffset lid in op de offset binnen de buffer (waarnaar wordt verwezen door InformationBuffer lid) die de gegevens bevat die moeten worden geschreven uit het opgegeven VF-configuratieblok. Deze offset wordt opgegeven in eenheden van bytes vanaf het begin van de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structuur.

Wanneer de aanvraag van de OID-set van OID_SRIOV_WRITE_VF_CONFIG_BLOCK wordt verwerkt, moet het PF-minipoortstuurprogramma de volgende richtlijnen volgen:

  • Het PF-minipoortstuurprogramma moet controleren of de VF, die is opgegeven door de VFId lid van de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-structuur, resources bevat die eerder zijn toegewezen. Het PF-minipoortstuurprogramma wijst resources toe voor een VF tijdens een OID-methodeaanvraag van OID_NIC_SWITCH_ALLOCATE_VF. Als resources voor de opgegeven VF niet zijn toegewezen, moet het stuurprogramma de OID-aanvraag mislukken.

  • Het PF-minipoortstuurprogramma moet controleren of de BlockId lid van de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-structuur een geldig VF-configuratieblok aangeeft. Zo niet, dan moet het stuurprogramma de OID-aanvraag mislukken.

Zie SR-IOV PF/VF Backchannel Communicationvoor meer informatie over backchannelcommunicatie binnen de I/O-interface (SR-IOV).

Statuscodes retourneren

Het minipoortstuurprogramma retourneert een van de volgende statuscodes voor de OID-setaanvraag van OID_SRIOV_WRITE_VF_CONFIG_BLOCK:

Statuscode Beschrijving

NDIS_STATUS_SUCCESS

De OID-aanvraag is voltooid.

NDIS_STATUS_NOT_SUPPORTED

Het minipoortstuurprogramma biedt geen ondersteuning voor de I/O-interface met één hoofdmap (SR-IOV) of is niet ingeschakeld voor het gebruik van de interface.

NDIS_STATUS_INVALID_PARAMETER

Een of meer leden van de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structuur hebben ongeldige waarden.

NDIS_STATUS_INVALID_LENGTH

De informatiebuffer was te kort. NDIS stelt de DATA in. SET_INFORMATION. BytesNeeded lid in de NDIS_OID_REQUEST structuur tot de minimale buffergrootte die is vereist.

NDIS_STATUS_FAILURE

De aanvraag is om andere redenen mislukt.

Eisen

Versie

Ondersteund in NDIS 6.30 en hoger.

Rubriek

Ntddndis.h (inclusief Ndis.h)

Zie ook


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE