Condividi tramite


SRIOV_QUERY_LUID funzione di callback (pcivirt.h)

Ottiene l'identificatore univoco locale del dispositivo SR-IOV.

Sintassi

SRIOV_QUERY_LUID SriovQueryLuid;

NTSTATUS SriovQueryLuid(
  [in]  PVOID Context,
  [out] PLUID Luid
)
{...}

Parametri

[in] Context

Puntatore a un contesto definito dal driver.

[out] Luid

Puntatore all'identificatore univoco locale del dispositivo SR_IOV che implementa l'interfaccia.

Valore restituito

Restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, restituisce un codice di errore NTSTATUS appropriato.

Commenti

Questa funzione di callback viene implementata dal driver pf (Physical Function). Viene richiamato quando il sistema vuole ottenere l'identificatore di una funzione virtuale specifica.

Il driver PF registra l'implementazione impostando il membro QueryLuid del SRIOV_DEVICE_INTERFACE_STANDARD, configurando una struttura WDF_QUERY_INTERFACE_CONFIG e chiamando WdfDeviceAddQueryInterface.

Ecco un esempio di implementazione di questa funzione di callback. Il driver PF genera un identificatore univoco chiamando ZwAllocateLocallyUniqueId e lo archivia nel contesto del dispositivo.


NTSTATUS
Virtualization_QueryLuid (
    _In_        PVOID             Context,
    _Out_       PLUID             Luid
    )
{
    PDEVICE_CONTEXT deviceContext;

    PAGED_CODE();

    deviceContext = (PDEVICE_CONTEXT)Context;
    *Luid = deviceContext->Luid;

    return STATUS_SUCCESS;
}


Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Windows
Intestazione pcivirt.h
IRQL PASSIVE_LEVEL