porting to windows vista - NdisSendPackets do not work
Posted: 12-20-2005, 03:52 PM
Someone can help me??
Andre Siqueira escreveu:
> I'm not "locking" the user buffer because I allocate memory and
> then copy the user buffer with NdisMoveMemory.
>
> I don't use NetBuffers because I want the code run in NDIS >= 5.0,
> so I can have the same driver for windows 2000/ XP/ 2003/ Vista.
>
> The problem is that when I call NdisSendPackets, the function
> SendCompleteHandler is called with the status
> NDIS_STATUS_SUCCESS, even the packet didn't go to the
> network.
>
> Thanks,
>
> Andre.
>
>
> Pavel A. escreveu:
>
>> Do you *lock* the user buffer?
>> Do you use NetBuffers instead of old ndis packets?
>>
>> --PA
>>
>>
>> "Andre Siqueira" wrote:
>>
>>> Hello,
>>>
>>> I'm porting my intermediate driver to windows vista.
>>> But I'm having I problem. The function NdisSendPackets do no work in
>>> some
>>> situation.
>>>
>>> When I'm passing packets up and down through my driver it works OK,
like
>>> passthru example. But when I want to send a packet that comes from
>>> the user
>>> level with IOCTL, the function NdisSendPackets do not work, but
>>> returns with
>>> NDIS_STATUS_SUCCESS in the SendCompleteHandler function.
>>>
>>> I create my device with NdisMRegisterDevice, and set the flag
>>> DO_BUFFERED_IO.
>>>
>>> When the user write in this device, I get the buffer with
>>> buf = irp->AssociatedIrp.SystemBuffer;
>>>
>>> then, I call NdisAllocatePacket, NdisAllocateMemoryWithTag,
>>> NdisAllocateBuffer, NdisChainBufferAtFront and NdisMoveMemory before
>>> NdisSendPackets.
>>>
>>> is there something I'm doing wrong?
>>>
>>> thanks,
>>>
>>> André.
>>
>>
>>
Responses to "porting to windows vista - NdisSendPackets do not work"