Dela via


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

En överdrivande drivrutin utfärdar en begäran om objektidentifierare (OID) för OID_SRIOV_WRITE_VF_CONFIG_BLOCK att skriva data till ett VF-konfigurationsblock (PCIe) virtual function (PCIe).

Ö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_BLOCK_PARAMETERS struktur som innehåller förskjutningen i enheter med byte från början av den här strukturen till en plats i bufferten som innehåller de data som skrivs till VF-konfigurationsblocket.

  • Ytterligare buffertutrymme för data som ska skrivas till det angivna VF-konfigurationsblocket.

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 miniportdrivrutinerna. 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.

Innan den utfärdar OID-uppsättningens begäran om OID_SRIOV_WRITE_VF_CONFIG_BLOCK måste den överdrivande drivrutinen ange medlemmarna i NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS struktur på följande sätt:

  • Ange VFId- medlem till identifieraren för den VF som informationen ska skrivas för.

  • Ange BlockId medlem till identifieraren för konfigurationsblocket som informationen ska skrivas från.

  • Ange Längd medlem till antalet byte som ska skrivas till VF-konfigurationsblocket.

  • Ställ in BufferOffset medlem till förskjutningen i bufferten (refererad av InformationBuffer medlem) som innehåller de data som ska skrivas från det angivna VF-konfigurationsblocket. Den här förskjutningen anges i enheter med byte från början av NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS struktur.

När den hanterar OID-uppsättningens begäran om OID_SRIOV_WRITE_VF_CONFIG_BLOCK 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_BLOCK_PARAMETERS struktur, har resurser som tidigare har allokerats. PF-miniportdrivrutinen allokerar resurser för en VF under en OID-metodbegäran av 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 måste kontrollera att BlockId medlem i NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-strukturen anger ett giltigt VF-konfigurationsblock. Annars måste drivrutinen misslyckas med OID-begäran.

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-uppsättningens begäran för OID_SRIOV_WRITE_VF_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_WRITE_VF_CONFIG_BLOCK_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_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE