Compartilhar via


NdisTransferData

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função encaminha uma solicitação para copiar dados recebidos de subjacente NIC em um pacote Protocol-supplied.

Syntax

VOID NdisTransferData(
  PNDIS_STATUS Status,
  NDIS_HANDLE NdisBindingHandle,
  NDIS_HANDLE MacReceiveContext,
  UINT ByteOffset,
  UINT BytesToTransfer,
  PNDIS_PACKET Packet,
  PUINT BytesTransferred
);

Parameters

  • Status
    [out] Ponteiro para uma variável Caller-supplied que indica o status do chamar.
  • NdisBindingHandle
    [no] Identificador retornado pela NdisOpenAdapter função que identifica o destino NIC ou o adaptador virtual do driver Next-lower para que o chamador é ligado.
  • MacReceiveContext
    [no] Especifica o subjacente que foi passado como um parâmetro de entrada para do o chamador identificador do driver ProtocolReceive função. O driver protocolo deve considerar esse identificador serem opacidade.
  • ByteOffset
    [no] Especifica o deslocamento a partir de iniciar do pacote de rede de recebimento no qual se começar a transferir.
  • BytesToTransfer
    [no] Especifica o número de bytes para transferir. Este valor pode ser 0.
  • Pacote
    [in, Out] Ponteiro para o descritor pacote, fornecido pelo chamador, no qual o subjacente driver NIC é para copiar os dados.
  • BytesTransferred
    [out] Ponteiro para uma variável Caller-supplied no qual essa função retorna o número de bytes realmente transferidos. O valor é inválido se essa função retorna NDIS_STATUS_PENDING em Status.

Return Value

A seguinte tabela mostra os valores de retorno para esta função.

Valor Descrição

NDIS_STATUS_SUCCESS

Os dados solicitados tem sido transferidos para o pacote em Pacote.

NDIS_STATUS_PENDING

A solicitação está sendo manipulada de forma assíncrona e do o chamador ProtocolTransferComplete função será chamado quando ela for concluída.

NDIS_STATUS_RESET_IN_PROGRESS

O subjacente driver no momento está redefinindo seu estado virtual NIC ou NIC. Do chamador ProtocolStatus função foi ou será chamado com NDIS_STATUS_RESET_START para indicar que um redefinir é em andamento.

NDIS_STATUS_REQUEST_ABORTED

Ligação o chamador está sendo fechada.

NDIS_STATUS_FAILURE

O dado ByteOffset e / ou a determinado BytesToTransfer é muito grande.

Remarks

Vários protocolos podem ser ligado a um único subjacente NIC e cada tal driver protocolo podem receber uma indicação para o mesmo pacote. Tal um pacote é somente leitura para drivers protocolo. Cada do tal driver ProtocolReceive função determina tornar próprio uma copiar do pacote indicada com essa função.

Antes chamado essa função, o protocolo deve alocar um pacote descritor e encadear algum número de descritores reserva buffers alocados-protocolo mapeamento para o qual o subjacente driver copia os dados. O protocolo também pode definir até a ProtocolReserved Parte do seu descritor pacote antes chamado essa função.

Um driver protocolo sempre deve alocar descritores seus pacote de pool de pacote que o driver configurado durante inicialização.

O intervalo solicitado em uma chamar para esta função, especificada por ByteOffset e BytesToTransfer, deve ser adequado para o PacketSize passado para do o chamador ProtocolReceive função. Os chamadores dessa função geralmente transmitir um ByteOffset valor calculado a partir de entrada parâmetros para ProtocolReceive Como (LookaheadBufferRange + 1). Ou seja, ProtocolReceive Já consumida os dados na reserva de look-ahead, portanto, ele chama essa função para get os dados restantes no indicado receber pacote.

Requirements

Header ndis.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NdisOpenAdapter
NdisMIndicateReceivePacket
ProtocolReceive
ProtocolStatus