Do you mean something like this:
Code:
var
 i: Integer;
 LRect: TD3DLocked_Rect;
 Stream: TStream;
 MemAddr: Pointer;
begin 
 Texture.LockRect(0, LRect, nil, 0);

 for i:= 0 to TextureHeight - 1 do
  begin
   // point to location of specific scanline
   MemAddr:= Pointer(Integer(LRect.Bits) + (LRect.Pitch * i));

   // read pixel data from stream
   Stream.ReadBuffer(MemAddr^, TextureWidth * BytesPerPixel);
  end;

 Texture.UnlockRect(0);
end;