NdisMTrIndicateReceive
9/8/2008
Essa função notifica NDIS que um pacote Token Ring, ou alguns parte visão antecipada inicial do pacote, chegou para que possa NDIS ENC o pacote para ligado protocolos.
Syntax
VOID NdisMTrIndicateReceive(
NDIS_HANDLE MiniportAdapterHandle,
NDIS_HANDLE MiniportReceiveContext,
PVOID HeaderBuffer,
UINT HeaderBufferSize,
PVOID LookaheadBuffer,
UINT LookaheadBufferSize,
UINT PacketSize
);
Parameters
- MiniportAdapterHandle
[no] Especifica o identificador originalmente entrada para MiniportInitialize.
- MiniportReceiveContext
[no] Especifica um identificador contexto fornecido pelo chamador. NDIS Retorna este identificador como um parâmetro de entrada para a MiniportTransferData função se ele for chamado. A miniporta pode usar a área contexto designada por este identificador para determinar qual pacote está sendo recebido no qual NIC.
- HeaderBuffer
[no] Especifica o endereço virtual de base do armazenada em buffer cabeçalho pacote.
- HeaderBufferSize
[no] Especifica o tamanho em bytes do cabeçalho de pacote.
- LookaheadBuffer
[no] Especifica o endereço virtual de base de uma reserva contendo o inicial LookaheadBufferSize bytes dos dados no pacote.
LookaheadBufferSize
[no] Especifica o tamanho em bytes de reserva de visão antecipada. Este valor deve ser pelo menos tão grande quanto o menor do conjunto de tamanho visão antecipada quando MiniportSetInformationcxrefMiniportSetInformation foi chamado com OID_GEN_CURRENT_LOOKAHEAD, ou o próprio pacote. Quando o pacote é menor do que o tamanho visão antecipada, a reserva visão antecipada contém o quadro inteiro.Uma miniporta pode (e deve) definido LookaheadBufferSize para algo que é maior do que o mínimo exigido se suficientes recebeu dados disponível em seu NIC.
PacketSize
[no] Especifica o tamanho em bytes de dados de pacote recebido. Este valor não inclui o HeaderBufferSize.Quando PacketSize é maior que LookaheadBufferSize, chamar um driver protocolo para NdisTransferData Faz com que um chamar subseqüente para o MiniportTransferData função, que transfere os dados restantes no pacote.
Return Value
Nenhum.
Remarks
Chama uma miniporta NdisMTrIndicateReceive Se ele designa seu NIC as of tipo NdisMedium802_5 Em resposta para a consulta OID_GEN_MEDIA_IN_USE, a menos que a miniporta indica indica recebe com NdisMIndicateReceivePacket.
Quando uma miniporta chamadas NdisMTrIndicateReceiveNDIS, passa um ponteiro para o cabeçalho de pacote e um ponteiro a algumas ou todas os dados no pacote para o ProtocolReceive função de ligado drivers protocolo. Cada protocolo que recebe a indicação pode fazer o seguinte:
- Inspecione o cabeçalho e dados no pacote para decidir se a indicação seja de interesse para os clientes do protocolo.
- Se for, copiar o máximo do cabeçalho ou dados que esteja visível em memória Protocol-allocated com NdisMoveMemory.
- Obter os dados restantes, se houver, para a indicação por alocar um descritor pacote com descritores reserva encadeado suficientes e chamado NdisTransferData. A chamar para NdisTransferData Faz com que do o driver NIC MiniportTransferData função para copiar os dados para o pacote Protocol-supplied.
Para qualquer driver protocolo que recebe uma indicação através NdisMTrIndicateReceive, o HeaderBuffer e LookaheadBuffer Os endereços são válido apenas durante a atual chamar a sua ProtocolReceive função e esses buffers são somente leitura. Um driver protocolo não pode reter um ponteiro para o pacote indicada com esses associado buffers nem pode ele reter os ponteiros para esses buffers para uso posterior. Quaisquer dados que um driver protocolo precisa de tal um pacote devem ser copiados e salvo durante a indicação de recebimento.
Os dados no cabeçalho é o mesmo que que recebeu no NIC. Uma necessidade driver de miniporta não remover os cabeçalhos ou marcadores a partir de dados recebe sua NIC.
O driver de transmissão adiciona preenchimento a qualquer pacote que é muito Short for os requisitos de médio porte. A miniporta de recebimento pode incluir tal preenchimento na dados e comprimento que ele subseqüentemente indica. Cada ligado protocolo é responsável por detectar qualquer tal preenchimento e ignorando-lo.
Requirements
Header | ndis.h |
Library | ndis.dll |
Windows Embedded CE | Windows CE .NET 4.0 and later |
See Also
Reference
MiniportInitialize
MiniportTransferData
MiniportSetInformation
NdisMTrIndicateReceiveComplete
NdisMIndicateReceivePacket
NdisMoveMemory
NdisTransferData
OID_GEN_CURRENT_LOOKAHEAD
ProtocolReceive