Condividi tramite


Funzione NdisMReadConfigBlock (ndis.h)

Un driver miniport per una funzione virtuale PCI Express (PCIe) chiama la funzione NdisMReadConfigBlock per leggere i dati da un blocco di configurazione VF. Le operazioni di lettura per un blocco di configurazione VF vengono gestite dal driver miniport della funzione fisica PCIe (PF) della scheda di rete.

Nota: NdisMReadConfigBlock deve essere chiamato solo dal driver miniport VF.
 

Sintassi

NDIS_STATUS NdisMReadConfigBlock(
  [in]  NDIS_HANDLE NdisMiniportHandle,
  [in]  ULONG       BlockId,
  [out] PVOID       Buffer,
  [in]  ULONG       Length
);

Parametri

[in] NdisMiniportHandle

La scheda di rete gestisce l'NDIS passata al parametro MiniportAdapterHandle di MiniportInitializeEx.

[in] BlockId

Valore ULONG che specifica l'identificatore del blocco di configurazione VF da leggere. Questo identificatore è proprietario del fornitore hardware indipendente (IHV) e viene usato solo dai driver PF e miniport VF.

[out] Buffer

Puntatore a un buffer allocato dal chiamante che conterrà i dati di configurazione richiesti.

[in] Length

Numero di byte da leggere dal blocco di configurazione VF.

Valore restituito

NdisMReadConfigBlock può restituire uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Operazione di query completata.
NDIS_STATUS_FAILURE
Operazione di query non riuscita.

Commenti

Il driver miniport VF chiama NdisMReadConfigBlock per avviare una richiesta di lettura backchannel dei dati di configurazione VF dal driver miniport PF. Dopo la notifica di questa richiesta, il driver PF restituisce i dati dal blocco di configurazione VF specificato.

Viene usato un blocco di configurazione VF per la comunicazione backchannel tra i driver miniport PF e VF. L'IHV può definire uno o più blocchi di configurazione VF per il dispositivo. Ogni blocco di configurazione VF ha un formato, una lunghezza e un ID blocco definiti dall'IHV.

Nota I dati di ogni blocco di configurazione VF vengono usati solo dai driver PF e miniport VF.
 
Per altre informazioni sulla comunicazione backchannel all'interno dell'interfaccia SR-IOV (Single Root I/O Virtualization), vedere SR-IOV PF/VF Backchannel Communication.For more information about backchannel communication within the single root I/O virtualization interface (SR-IOV), see SR-IOV PF/VF Backchannel Communication.

Per altre informazioni sull'interfaccia SR-IOV, vedere Panoramica di Single Root I/O Virtualization (SR-IOV).For more information about the SR-IOV interface, see Overview of Single Root I/O Virtualization (SR-IOV).

Interfaccia con un driver del bus virtuale

Se un fornitore di hardware indipendente (IHV) fornisce un driver bus virtuale (VBD) come parte del pacchetto driver SR-IOV, il driver miniport non deve chiamare NdisMReadConfigBlock. Al contrario, il driver deve interfacciarsi con VBD tramite un canale di comunicazione privato e richiedere che la chiamata VBD ReadVfConfigBlock. Questa funzione viene esposta dall'interfaccia GUID_VPCI_INTERFACE_STANDARD supportata dal driver bus PCI (VPCI) virtuale sottostante.

Il VBD eseguito nel sistema operativo guest di una partizione figlio Hyper-V può eseguire una query sull'interfaccia GUID_VPCI_INTERFACE_STANDARD inviando una richiesta di IRP_MN_QUERY_INTERFACE al relativo oggetto dispositivo fisico (PDO) nel bus VPCI. Questa richiesta deve essere effettuata da IRQL = PASSIVE_LEVEL. In questa richiesta, il driver deve impostare il parametro InterfaceType su GUID_VPCI_INTERFACE_STANDARD.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL <= APC_LEVEL

Vedi anche

GUID_VPCI_INTERFACE_STANDARD

ReadVfConfigBlock