Função NdisMWriteConfigBlock (ndis.h)

Um driver de miniporto para uma VF (função virtual) PCI Express (PCIe) chama a função NdisMWriteConfigBlock para gravar dados em um bloco de configuração de VF. As operações de gravação em um bloco de configuração de VF são manipuladas pelo driver de miniporto da PF (Função Física PCIe) do adaptador de rede.

ObservaçãoNdisMWriteConfigBlock só deve ser chamado pelo driver de miniporto para o VF de um adaptador de rede.
 

Sintaxe

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

Parâmetros

[in] NdisMiniportHandle

O identificador de adaptador de rede que o NDIS passou para o parâmetro MiniportAdapterHandle de MiniportInitializeEx.

[in] BlockId

Um valor ULONG que especifica o identificador do bloco de configuração a ser gravado. Esse identificador é proprietário do IHV (fornecedor independente de hardware) e é usado apenas pelos drivers de miniporto para o PF e o VF no adaptador de rede.

[in] Buffer

Um ponteiro para um buffer alocado pelo chamador que contém os dados de configuração a serem gravados.

[in] Length

O número de bytes a serem gravados no bloco de configuração.

Retornar valor

NdisMWriteConfigBlock pode retornar um dos seguintes valores de status.

Código de retorno Descrição
NDIS_STATUS_SUCCESS
A operação de gravação foi concluída com êxito.
NDIS_STATUS_FAILURE
A operação de gravação falhou.

Comentários

O driver de miniporto VF chama NdisMWriteConfigBlock para iniciar uma solicitação de gravação backchannel de dados de configuração de VF pelo driver de miniporto PF. Depois de notificado dessa solicitação, o driver PF grava os dados no bloco de configuração do VF especificado.

Um bloco de configuração de VF é usado para comunicação backchannel entre os drivers de miniporto PF e VF. O IHV pode definir um ou mais blocos de configuração de VF para o dispositivo. Cada bloco de configuração do VF tem um formato, comprimento e ID de bloco definidos por IHV.

Nota Os dados de cada bloco de configuração de VF são usados apenas pelos drivers de miniporto PF e VF.
 
Para obter mais informações sobre a comunicação backchannel dentro da interface sr-IOV (virtualização de E/S) raiz única, consulte Comunicação backchannel sr-IOV PF/VF.

Interfacing to a Virtual Bus Driver

Se um IHV (fornecedor independente de hardware) fornecer um VBD (driver de barramento virtual) como parte de seu pacote de driver SR-IOV, seu driver de miniporte não deverá chamar NdisMWriteConfigBlock. Em vez disso, o driver deve fazer a interface com o VBD por meio de um canal de comunicação privado e solicitar que o VBD chame WriteVfConfigBlock. Essa função é exposta da interface GUID_VPCI_INTERFACE_STANDARD compatível com o driver de barramento VPCI (PCI virtual) subjacente.

O VBD executado no sistema operacional convidado de uma partição filho do Hyper-V pode consultar a interface GUID_VPCI_INTERFACE_STANDARD emitindo uma solicitação de IRP_MN_QUERY_INTERFACE para seu PDO (objeto de dispositivo físico) no barramento VPCI. Essa solicitação deve ser feita de IRQL = PASSIVE_LEVEL. Nessa solicitação, o driver deve definir o parâmetro InterfaceType como GUID_VPCI_INTERFACE_STANDARD.

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum com suporte, com suporte no NDIS 6.30 e posterior.
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= APC_LEVEL

Confira também

GUID_VPCI_INTERFACE_STANDARD

WriteVfConfigBlock