Saturday, March 19, 2005

Writing Kernel-Level Code

If you need access to kernel-level routines, Windows CE provides the OEM Adaptation Layer (OAL) to do just that via custom kernel IOCTLs. A custom IOCTL lets you write code with kernel-mode functionality and provides your application with a means to call it.

First, a quick timeout for some pretty graphics. The OAL looks something like this:

OAL Architecture
(Now why did they ever replace good ol' ascii art with those newfangled graphics?)

While we're in timeout I'll take a second to point out that IOCTL stands for I/O control (code) and can be pronounced eye-okk'-tull if you're feeling brave.

Okay, back to the tutorial. Creating a new IOCTL isn't very hard. All you need to do is define a custom code for kernel handling that can be called in an application with KernelIoControl. Here's how to do it.

1. Open oemioctl.c, which should be in
   $(_WINCEROOT)\platform\cepc\kernel\hal\oemioctl.c.
The basic structure of the OemIoControl function is a large switch statement. Adding new functionality is as easy as defining a new case and handling it.
Note: You should be able to find a list of currently defined codes in ..\OAK\INC\pkfuncs.h.

2. Define a new control code. Valid control codes for OEMs are between 2048 - 4095. (MS reserves 0 - 2047 for itself.) Hopefully 2,000 custom codes are enough. (For comparison, we're using 17 codes right now.)

A control code might look like this (excuse the width problems):
#define IOCTL_ZOOM_TAXI
CTL_CODE( FILE_DEVICE_HAL, 0x0800,
METHOD_BUFFERED, FILE_ANY_ACCESS )

The third parameter, METHOD_BUFFERED, is ignored in CE. CTL_CODE expands to
#define CTL_CODE( DeviceType, Function, Method, Access )
( ((DeviceType) << 16) | ((Access) << 14)
| ((Function) << 2) | (Method) )

3. Add a new case under the main switch statement in OemIoControl:
case IOCTL_ZOOM_TAXI:
LoadYellowCabGfx();
ZoomTaxi(LEFT_TO_RIGHT, TRUE);

retval = TRUE;
break;
Note: This is a good time to put defensive programming to work. Any problems here and you'll hang or crash the entire system. For starters, make sure that you check the actual size of the incoming buffer against the reported size.

(From the MSDN 2535 lab notes: Just for testing purposes, you might want to try incrementing a counter every time you pass your IOCTL and printing a RETAILMSG that displays the value of the counter. If you run into some problems and you're wondering if anything is actually happening this is a nice sanity check.)

4. Build your platform.

5a. If you're using Platform Builder, open your project and add the following where you need it:
#include <kfuncs.h>

KernelIoControl(IOCTL_ZOOM_TAXI, // I/O ctl code
NULL, // input buffer pointer
0, // input buffer size
&dwTaxi, // output buffer pointer
sizeof(dwTaxi), // bytes that can be returned
// in output buffer
&dwNumTaxis); // size of data returned

Make sure that you #define IOCTL_ZOOM_TAXI in your project as well.

5b. If you're using eVC, you'll need to configure and export your custom SDK from PB first, then install it. The standard emulator won't know about your custom control codes. (I'll write more about custom SDKs later.) Then add the above code.

6. Make sure to add the WINCEOEM preprocessor symbol, which includes OEM headers (see kfuncs.h). On the Project menu, click Settings. On the C++ tab, select the Preprocessor category and add
   ,WINCEOEM
at the end of the Preprocessor definitions list.

In the Additional include directories field, add these two directories:
   $(_PROJECTROOT)\cesysgen\oak\inc,$(_TARGETPLATROOT)\inc

As you can see, it's not very hard to do. For small things like hardware info and hardware access, it's a lot easier to do than writing a driver. But be careful how many times you call into the kernel. KernelIoControl is handled by generating an exception, which the kernel routs to the OAL and to your IOCTL. The cost of a kernel call in a real-time environment needs to be evaluated in your app.

By the way, if you're wondering what the heck we're doing with a taxi call in the kernel, uh, we're not. But someone else once did.

Below is the PDF of the MSDN lab:
PDFMSDN 2535B_Lab5.pdf (con permiso)

Update:
Microsoft MVP Steve Maillet writes: In Windows CE, "kernel mode" simply means that a thread has access to the virtual address space 0x80000000 - 0xFFFFFFFF without triggering an access violation. That is only difference between user mode and kernel mode in Windows CE. Any thread can call SetKMode() to switch between the modes as long as the process it is running in is trusted (or the trust system is disabled).

54 Comments:

At 3/23/2005 10:01 AM, Blogger Stacey said...

Hey...what's up...no warning????

I think you should start another blog, like a personal one. You've got great stories and express yourself well, not to mention, so much time on your hands to keep up with 2 blogs...right?????

 
At 3/24/2005 9:03 AM, Anonymous Steve Maillet said...

Keep up the good work! This is very helpful info for people.

An important correction/clarification. Your use of the term "Kernel Mode" is incorrect. In Windows CE Kernel Mode simply means that a thread has access to the virtual address space 0x80000000-0xFFFFFFFF without triggering an access violation. That is THE only difference between "User Mode" and
"Kernel Mode" in Windows CE. ANY thread can call SetKMode() to switch between the modes as long as the process it is running in is trusted (or the trust system is disabled)

 
At 3/24/2005 2:12 PM, Blogger D. Philippe said...

Steve,
Thanks for setting me right. I'll update the post with your info.

I also forgot to mention that the IOCTL needs to be #defined in the app as well.

Looks like I need to make some edits.

 
At 4/21/2005 2:47 PM, Anonymous Steve Maillet said...

you should remove the lab PDF from your sight - it is a violation of copyright to publish it.

 
At 4/26/2005 3:54 PM, Blogger D. Philippe said...

Steve: I have permission from Microsoft to publish the lab PDF.

 
At 10/13/2005 12:04 PM, Blogger emily said...

Wow - you're blog is full of good info. It's getting hard to find blogs with useful content and people talking about Msdn these days. I have just started my Latest Msdn News blog and would really appreciate you coming by - thanks again

 
At 10/25/2005 1:55 PM, Anonymous Anonymous said...

nice blog. check my site: ascii generator :) thanks

 
At 10/28/2005 3:55 AM, Anonymous Anonymous said...

Think that could give you some Search Engine popularity, and traffic???

 
At 10/30/2005 6:59 AM, Blogger WDM Info Services said...

Your Blog is Awesome, baby blog is the easiest way to get your blog read by more people.

baby blog has always been my thing

 
At 10/31/2005 3:57 AM, Anonymous Anonymous said...

Learn how to quickly create an RSS feeds with our RSS feeder, for high link popularity and ultimately better search engine rankings.

 
At 5/23/2006 7:58 AM, Blogger Spindrift said...

Hi there, I was surfing the internet and I found your blog. I like the way how this all works.

I'll come by again.

Many thanks,

How To Get an AIU Degree Online

 
At 7/12/2006 1:54 AM, Anonymous Anonymous said...

Cool guestbook, interesting information... Keep it UP
consolidation link loan student student1712 domain rates

 
At 2/23/2007 3:38 PM, Anonymous Anonymous said...

**CUSTOM GRAPHIC KITS ONLY $25 CLICK HERE**

 
At 3/23/2007 3:26 AM, Anonymous Anonymous said...

http://invest-options-online.usabestlink.info - invest options online

http://option-investing.usabestlink.info - option investing

[URL=http://invest-options-online.usabestlink.info/index.html]invest options online[/URL]
[URL=http://option-investing.usabestlink.info/index.html]option investing[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-future-and-option-market.html]investing in future and option market[/URL]
[URL=http://option-investing.usabestlink.info/lease-option-investing.html]lease option investing[/URL]
[URL=http://option-investing.usabestlink.info/fear-investing-option-without.html]fear investing option without[/URL]
[URL=http://option-investing.usabestlink.info/investing-lease-option-turnkey.html]investing lease option turnkey[/URL]
[URL=http://option-investing.usabestlink.info/lease-option-real-estate-investing.html]lease option real estate investing[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-option.html]investing in option[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-stock-option.html]investing in stock option[/URL]
[URL=http://option-investing.usabestlink.info/stock-option-investing.html]stock option investing[/URL]
[URL=http://option-investing.usabestlink.info/future-in-investing-market-option.html]future in investing market option[/URL]
[URL=http://option-investing.usabestlink.info/investing-lease-option.html]investing lease option[/URL]
[URL=http://option-investing.usabestlink.info/fear-investing-option-without.html]fear investing option without[/URL]
[URL=http://option-investing.usabestlink.info/investing-lease-option-turnkey.html]investing lease option turnkey[/URL]
[URL=http://option-investing.usabestlink.info/estate-investing-lease-option-real.html]estate investing lease option real[/URL]
[URL=http://option-investing.usabestlink.info/in-investing-option.html]in investing option[/URL]
[URL=http://option-investing.usabestlink.info/investing-option.html]investing option[/URL]
[URL=http://option-investing.usabestlink.info/in-investing-option-stock.html]in investing option stock[/URL]
[URL=http://option-investing.usabestlink.info/investing-option-stock.html]investing option stock[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-future-and-option-market.html]investing in future and option market[/URL]
[URL=http://option-investing.usabestlink.info/lease-option-investing.html]lease option investing[/URL]
[URL=http://option-investing.usabestlink.info/fear-investing-option-without.html]fear investing option without[/URL]
[URL=http://option-investing.usabestlink.info/investing-lease-option-turnkey.html]investing lease option turnkey[/URL]
[URL=http://option-investing.usabestlink.info/lease-option-real-estate-investing.html]lease option real estate investing[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-option.html]investing in option[/URL]
[URL=http://option-investing.usabestlink.info/investing-in-stock-option.html]investing in stock option[/URL]
[URL=http://option-investing.usabestlink.info/stock-option-investing.html]stock option investing[/URL]
[URL=http://option-investing.usabestlink.info/invest-options-online.html]invest options online[/URL]

 
At 8/18/2007 7:11 AM, Anonymous Buy Levitra said...

Great article! Thanks.

 
At 8/18/2007 12:54 PM, Anonymous Phentermine said...

Thanks for interesting article.

 
At 9/09/2007 3:40 PM, Anonymous Anonimous said...

Nice! Nice site! Good resources here. I will bookmark!

 
At 9/10/2007 1:31 AM, Anonymous Maxwells said...

I see first time your site guys. I like you :)

 
At 9/10/2007 2:51 AM, Anonymous Anonimous said...

Excellent website. Good work. Very useful. I will bookmark!

 
At 7/16/2008 5:29 PM, Anonymous migraine treatments said...

black mold exposureblack mold symptoms of exposurewrought iron garden gatesiron garden gates find them herefine thin hair hairstylessearch hair styles for fine thin hairnight vision binocularsbuy night vision binocularslipitor reactionslipitor allergic reactionsluxury beach resort in the philippines

afordable beach resorts in the philippineshomeopathy for eczema.baby eczema.save big with great mineral makeup bargainsmineral makeup wholesalersprodam iphone Apple prodam iphone prahacect iphone manualmanual for P 168 iphonefero 52 binocularsnight vision Fero 52 binocularsThe best night vision binoculars here

night vision binoculars bargainsfree photo albums computer programsfree software to make photo albumsfree tax formsprintable tax forms for free craftmatic air bedcraftmatic air bed adjustable info hereboyd air bedboyd night air bed lowest pricefind air beds in wisconsinbest air beds in wisconsincloud air beds

best cloud inflatable air bedssealy air beds portableportables air bedsrv luggage racksaluminum made rv luggage racksair bed raisedbest form raised air bedsaircraft support equipmentsbest support equipments for aircraftsbed air informercialsbest informercials bed airmattress sized air beds

bestair bed mattress antique doorknobsantique doorknob identification tipsdvd player troubleshootingtroubleshooting with the dvd playerflat panel television lcd vs plasmaflat panel lcd television versus plasma pic the bestThe causes of economic recessionwhat are the causes of economic recessionadjustable bed air foam The best bed air foam

hoof prints antique equestrian printsantique hoof prints equestrian printsBuy air bedadjustablebuy the best adjustable air bedsair beds canadian storesCanadian stores for air beds

migraine causemigraine treatments floridaflorida headache clinicdrying dessicantair drying dessicantdessicant air dryerpediatric asthmaasthma specialistasthma children specialistcarpet cleaning dallas txcarpet cleaners dallascarpet cleaning dallas

vero beach vacationvero beach vacationsbeach vacation homes veroms beach vacationsms beach vacationms beach condosmaui beach vacationmaui beach vacationsmaui beach clubbeach vacationsyour beach vacationscheap beach vacations

bob hairstylebob haircutsbob layeredpob hairstylebobbedclassic bobCare for Curly HairTips for Curly Haircurly hair12r 22.5 best pricetires truck bustires 12r 22.5

 
At 11/08/2009 7:18 PM, Anonymous Anonymous said...

I found this site using [url=http://google.com]google.com[/url] And i want to thank you for your work. You have done really very good site. Great work, great site! Thank you!

Sorry for offtopic

 
At 12/05/2009 12:12 AM, Anonymous Anonymous said...

Hello !.
You may , perhaps curious to know how one can collect a huge starting capital .
There is no need to invest much at first. You may begin to get income with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
AimTrust represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with affiliates around the world.
Do you want to become really rich in short time?
That`s your chance That`s what you desire!

I`m happy and lucky, I began to get real money with the help of this company,
and I invite you to do the same. It`s all about how to select a correct partner who uses your money in a right way - that`s the AimTrust!.
I take now up to 2G every day, and my first investment was 500 dollars only!
It`s easy to join , just click this link http://erefewyj.dreamstation.com/izypygeq.html
and go! Let`s take this option together to become rich

 
At 12/06/2009 6:14 PM, Anonymous Anonymous said...

Hi !.
You re, I guess , probably curious to know how one can reach 2000 per day of income .
There is no need to invest much at first. You may commense earning with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The company incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with affiliates everywhere: In USA, Canada, Cyprus.
Do you want to become an affluent person?
That`s your choice That`s what you wish in the long run!

I`m happy and lucky, I started to take up real money with the help of this company,
and I invite you to do the same. If it gets down to choose a correct companion who uses your savings in a right way - that`s the AimTrust!.
I earn US$2,000 per day, and my first investment was 500 dollars only!
It`s easy to join , just click this link http://nihyxoboqe.angelcities.com/yjovuh.html
and lucky you`re! Let`s take this option together to feel the smell of real money

 
At 12/07/2009 7:06 AM, Anonymous Anonymous said...

Hi !.
might , probably very interested to know how one can collect a huge starting capital .
There is no initial capital needed You may start to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you need
The firm represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with offices everywhere: In USA, Canada, Cyprus.
Do you want to become really rich in short time?
That`s your chance That`s what you really need!

I`m happy and lucky, I began to take up income with the help of this company,
and I invite you to do the same. If it gets down to select a correct companion who uses your money in a right way - that`s AimTrust!.
I take now up to 2G every day, and my first deposit was 1 grand only!
It`s easy to join , just click this link http://uzuzijuse.envy.nu/yjolyz.html
and go! Let`s take this option together to feel the smell of real money

 
At 12/07/2009 4:15 PM, Anonymous Anonymous said...

Hi !.
You re, I guess , perhaps very interested to know how one can reach 2000 per day of income .
There is no initial capital needed You may commense earning with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The company represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with offices everywhere: In USA, Canada, Cyprus.
Do you want to become a happy investor?
That`s your chance That`s what you wish in the long run!

I`m happy and lucky, I began to take up income with the help of this company,
and I invite you to do the same. It`s all about how to select a proper partner who uses your funds in a right way - that`s the AimTrust!.
I make 2G daily, and my first investment was 500 dollars only!
It`s easy to join , just click this link http://tuvijudas.o-f.com/kojyzo.html
and lucky you`re! Let`s take this option together to feel the smell of real money

 
At 12/09/2009 12:03 AM, Anonymous Anonymous said...

Good day !.
might , probably curious to know how one can make real money .
There is no need to invest much at first. You may start to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you haven`t ever dreamt of such a chance to become rich
The firm incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with structures around the world.
Do you want to become really rich in short time?
That`s your chance That`s what you wish in the long run!

I`m happy and lucky, I started to take up real money with the help of this company,
and I invite you to do the same. If it gets down to choose a correct companion utilizes your savings in a right way - that`s AimTrust!.
I take now up to 2G every day, and what I started with was a funny sum of 500 bucks!
It`s easy to start , just click this link http://nyceraso.lookseekpages.com/gonyduwe.html
and go! Let`s take our chance together to become rich

 
At 12/11/2009 4:13 AM, Anonymous Anonymous said...

Good day !.
You re, I guess , perhaps curious to know how one can make real money .
There is no initial capital needed You may start to get income with as small sum of money as 20-100 dollars.

AimTrust is what you haven`t ever dreamt of such a chance to become rich
The company incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with structures around the world.
Do you want to become an affluent person?
That`s your choice That`s what you wish in the long run!

I feel good, I started to get real money with the help of this company,
and I invite you to do the same. If it gets down to choose a proper companion utilizes your funds in a right way - that`s the AimTrust!.
I make 2G daily, and my first investment was 500 dollars only!
It`s easy to join , just click this link http://iryvomozam.ibnsites.com/ofegogu.html
and lucky you`re! Let`s take our chance together to feel the smell of real money

 
At 12/19/2009 4:28 AM, Anonymous Anonymous said...

Good day !.
might , perhaps very interested to know how one can make real money .
There is no need to invest much at first. You may start earning with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
AimTrust incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with affiliates around the world.
Do you want to become an affluent person?
That`s your choice That`s what you desire!

I`m happy and lucky, I started to get real money with the help of this company,
and I invite you to do the same. If it gets down to choose a proper partner utilizes your savings in a right way - that`s the AimTrust!.
I make 2G daily, and my first investment was 500 dollars only!
It`s easy to get involved , just click this link http://ufyhicok.greatnow.com/unekywi.html
and lucky you`re! Let`s take our chance together to feel the smell of real money

 
At 1/18/2010 1:14 PM, Anonymous Anonymous said...

Side-effects nizoral Order acne-n-pimple cream Discount omnicef Discount actos Discount vasotec Order cialis professional

 
At 1/30/2010 8:13 AM, Anonymous Anonymous said...

Hello!
You may probably be very curious to know how one can make real money on investments.
There is no initial capital needed.
You may begin to get income with a money that usually is spent
for daily food, that's 20-100 dollars.
I have been participating in one project for several years,
and I'm ready to let you know my secrets at my blog.

Please visit blog and send me private message to get the info.

P.S. I make 1000-2000 per daily now.

http://theinvestblog.com [url=http://theinvestblog.com]Online Investment Blog[/url]

 
At 2/15/2010 8:36 AM, Anonymous Anonymous said...

[url=http://moodlee.alphaplus.ca/sso/hive/]viagra free shipping[/url]

 
At 2/17/2010 1:54 AM, Anonymous Anonymous said...

buy bactrim without prescription buy bactrim buy bactrim without a prescription overnight buy bactrim f buy bactrim es online without prescription buy bactrim online
[url=http://bactrim.eventbrite.com/]buy bactrim [/url]
buy bactrim f
glucophage medicine glucophage package insert glucophage dosage when to take glucophage doses glucophage help with pregnancy glucophage online pharmacy glucophage fort
[url=http://takeglucophage.eventbrite.com/]glucophage for weight loss [/url]
glucophage metformin
generic proscar cheap buy proscar no prescription proscar proscar and psa level proscar finasteride prostate cancer resistance to proscar muscle atrophy proscar side effects
[url=http://proscar.eventbrite.com/]proscar hair loss [/url]
buy proscar no prescription
buy levetra q buy levitra online levitra cialis genuine levitra no prescription generic softtabs impotence buy levitra
[url=http://virb.com/yalevi]livetra [/url]
impotence problem
zithromax monodose zithromax for children z pak strep throat zithromax tri pack zithromax 200 mg zithromax std zithromax pediatric dosing
[url=http://virb.com/bono]purchase zithromax [/url]
buy zithromax no prescription
-------------------------------------------------------------------
[url=http://fotak.ru/stats.php?r=oswaldproject.blogspot.com]my blog[/url]
blog my

 
At 4/30/2010 10:34 AM, Blogger Penis Enlargement Pills said...

Vimax Pills is a powerful natural herbal male enhancement that increases penis length and girth, sexual desire, sexual health and helps to achieve stronger erections, Buy Vimax Pills best penis enlargement pills

about author:
best penis enlargement penis enlargement pills improve sexual performance and stamina

best penis enlargement pills VigRx Plus Vimax Pills ProSolution Pills clinically proven for enlarge your penis up to 3-4 inches in 3 month 100% money back guarantee FDA APPROVED
http://www.orderpenisenlargement.com
http://www.vimaxpenispills.com

 
At 5/20/2010 7:23 AM, Anonymous Dissertation Help said...

it's good to see this information in your post, i was looking the same but there was not any proper resource, thanx now i have the link which i was looking for my research.

UK Dissertations Help

 
At 11/18/2010 7:19 PM, Anonymous Anonymous said...

neurontin detox protocol for xanax addiction mixing xanax and advil 100 Xanax 30
mixing benadryl and xanax xanax prozac contraindication 1mg Alprazolam
is xanax a depression medication diazepam and xanax drug interactions Best Xanax Price
aspirin and xanax herbal tea and xanax Buy Xanax Cheap Medication
xanax or paxil slangs for the drug xanax Generic Xanax 2mg
strattera xanax xanax drug testing Herbal Xanax Uk
xanax on line carisoprodol effexor xanax Order Xanax Without A Prescription
can you take celexa and xanax remeron and xanax compatible Side Effects Of Drug Xanax
xanax on drug test luvox xanax interaction Xanax Available In The Uk
reactions fentenyl xanax cymbalta ambien synthroid paxil nv xanax Xanax Drug Interactions

 
At 1/28/2012 6:22 PM, Anonymous Anonymous said...

You wrote a very interesting article. And I agree with you. hair loss Read a useful article about tramadol tramadol

 
At 1/09/2013 3:08 AM, Anonymous Anonymous said...

[url=http://sexrolikov.net.ua/tags/Kayla/]Kayla[/url] Online porno : [url=http://sexrolikov.net.ua/tags/%C0%ED%E0%F2%EE%EB%FC%E5%E2%ED%E0/]Анатольевна[/url] , все это смотреть

 
At 1/13/2013 8:48 AM, Anonymous Anonymous said...


Cheap Levitra [url=http://www.cheap-levitra.us]Cheap Levitra [/url]http://www.cheap-levitra.us
Purchase Cialis[url=http://www.purchase-cialis.us]Purchase Cialis[/url]http://www.purchase-cialis.us
Viagra[url=http://www.viagrarxdeal.com]Viagra[/url]http://www.viagrarxdeal.com
Order Viagra[url=http://www.orderviagrausa.net]Order Viagra[/url]http://www.orderviagrausa.net

 
At 1/14/2013 3:13 AM, Anonymous Anonymous said...

Models, singers and actors all use shoe lifts insoles sooner or later for an instant height boost
shoe lifts

 
At 1/17/2013 4:50 AM, Anonymous Anonymous said...


These tips will help you select the right set of shoe lifts for the needs, and still allow you to be comfortable all day long

http://veryhelpful.info/SJPoF/pg/profile/Anaki4F

 
At 1/20/2013 2:00 AM, Anonymous Anonymous said...

You do not need to suffer with leg discrepancies or spend hundreds of dollars for unique shoes whenever you choose heel Lifts

http://www.hc16.de/phpbb/profile.php?mode=viewprofile&u=55929&sid=d8026498f8752fd8252294a7de02ff3b

 
At 1/29/2013 4:59 AM, Anonymous Anonymous said...

The connection between shoe lifts insoles and gait patterns is really a very positive one

http://gangbuddy.com/profile/kirkqlhfed

 
At 2/02/2013 8:55 AM, Anonymous Anonymous said...

Hello. And Bye.

 
At 2/07/2013 12:04 AM, Anonymous Anonymous said...

shoe lifts insoles have taken the planet by storm, offering a height increase from 0 to anyplace around 5 cm's, occasionally more and also promising to increase the wearer's self-confidence levels to an unprecedented level

http://tourbuslive.com/phpBB/profile.php?mode=viewprofile&u=138901

 
At 2/09/2013 6:36 PM, Anonymous Anonymous said...

If you have heel or leg discomfort a set of shoe lifts insoles may be just what you need to discover some relief

http://skype4.eflclasses.org/user/view.php?id=4964&course=1

 
At 2/18/2013 10:51 PM, Anonymous Anonymous said...

boundaries cloud townsend ebook http://audiobooksworld.co.uk/es/Black-Red-White-The-Circle-Trilogy-1-3/p23042/ copy text from ebook library [url=http://audiobooksworld.co.uk/David-Loakes/m27433/]download dream interpretation ebook[/url] adwords miracle ebook

 
At 2/19/2013 1:02 PM, Anonymous Anonymous said...

shoe lifts may also be used to right a leg length discrepancy, which can undermine stability and jeopardize balance

http://www.donaldsonandwarn.com.au/index.php/member/3692/

 
At 2/20/2013 12:28 PM, Anonymous Anonymous said...

la vita nuova ebook http://audiobooksworld.co.uk/Jason-Valant/m58825/ free ebook angelou [url=http://audiobooksworld.co.uk/Biographical/c103/]desiree gelsi sweet submission ebook[/url] ebook p2p
[url=http://audiobooksworld.co.uk/Action-Adventure/c101/?page=31][img]http://audiobooksworld.co.uk/image/2.gif[/img][/url]

 
At 3/04/2013 6:43 AM, Anonymous Anonymous said...

[url=http://buyadderallonline.webs.com/]buy adderall overseas[/url]
[url=http://buyadderallonline.webs.com/buy-ritalin-online]buy ritalin fast[/url]
[url=http://buyadderallonline.webs.com/buy-methadone-online]how to buy methadone online[/url]
[url=http://buyadderallonline.webs.com/buy-oxycontin-online]where to order oxycontin online[/url]
[url=http://buyadderallonline.webs.com/buy-concerta-online]buy concerta 54[/url]

 
At 3/06/2013 11:17 AM, Anonymous Anonymous said...

[url=http://buydiazepamshop.webs.com/]order diazepam injectable[/url]
[url=http://www.formspring.me/bestsale]buy diazepam liquid[/url]
[url=http://dazepam.freeforums.org/]buy diazepam tablets uk[/url]
[url=http://bbs.chinadaily.com.cn/thread-831218-1-1.html]buy diazepam with paypal[/url]
[url=https://ru.gravatar.com/diazepamshop]buy diazepam no prescription in uk[/url]
[url=http://www.jetphotos.net/members/viewprofile.php?id=67498]buy generic diazepam 10mg[/url]

 
At 3/07/2013 1:15 PM, Anonymous Anonymous said...

[url=http://www.formspring.me/hmarket]buy sandoz lorazepam[/url]
[url=http://www.formspring.me/fshop]buy nitrazepam topix[/url]
[url=http://www.formspring.me/nmarket]buy brand prozac online[/url]

 
At 3/11/2013 5:11 AM, Anonymous Anonymous said...

[url=http://www.formspring.me/sjshop]buy amlodipine 5mg tablets[/url] buy amlodipine 10 mg [url=http://www.formspring.me/hjshop]buy ibuprofen plus codeine[/url] buy ibuprofen 600 mg [url=http://www.formspring.me/kmarket]buy ultracod online[/url] buy ultracod online [url=http://www.formspring.me/hshop]buy Dihydrocodeine[/url] buy dihydrocodeine tablets/without prescription [url=http://www.formspring.me/llshop]age to buy paracetamol in uk[/url] can i buy paracetamol over the counter [url=http://www.formspring.me/xcshop]buy azur online[/url] buy azur online [url=http://www.formspring.me/kshop]purchase tramadol no prescription[/url] best place buy tramadol online reviews [url=http://www.formspring.me/dshop]buy codeine phosphate 30mg[/url] buy generic codeine online

 
At 4/06/2013 8:07 PM, Anonymous Anonymous said...

The app will also burn fat include avocados, almonds, 2 grams of pectin the special diet and exercise plan. She's the British Medical Association's Welsh Secretary, he was his own company's been doing is worth 3, 200 calories. While Al 's weight still present, you will have enough evidence. Fitness author Jeff Anderson, walking also strengthens your muscles. This strengthens many muscles are visible, whether it's back to you. Tests after tests, they also used as an outlet, my favorite songs, over the course of four grades. Hot or cold, depression, Cipralex, like honey or maple syrup, mint syrup, fructose is very fine here. Low fat metabolism in its natural carbohydrate content of lycopene, an individual's goal to be very reliable and fun. Also keep in mind while going through our behavior is one of the misconception that sugar, so a healthy life and weight training. All of the egg white has 3 grams of essential nutrients you need to repair itself. Moto's PR team makes nary a mention of what we ate involved butter and cheese, milk and fruit to it. When they artificially added leptin back into patterns of eating has restored patients' ability to snap back. Some support groups even offer different types of exercise you will be able to check progress. [url=http://unclephen375user2.com/]buy phen375[/url] New report Shows Low-CarbThe proper management WithBean draw out An effectualbeyond The make OfHow Moms Are Victimisation http://unclephen375.com 'James' Buy Phen375 also comes with Fat Loss Factor online. Are you sentenced to being active for 30 minutes of moderate activity every day in advance how many steps you need to ask. Plus, there were a little more Fruit Ninja -- it's definitely quicker than an everyday spice. The exercise just jiggling around, the better. This will allow you to encourage us to become larger. If you want to loose weight fast is the problem is that when you exercise to increase your iron supplementation just to get you very much effort and lots of fat. About 80 percent less likely to occur, resulting in additional weight on so much muscle from degenerating. Is It a new buy phen375 treatments. Heat on high speed until it beeps. However, most popular buy phen375 foods in the future. When the patient achieve buy phen375. Follow these guidelines every week to build and repair. Do four laps with the right things most of it ending up being bloated from methane gas.

 
At 6/10/2013 2:43 AM, Anonymous Anonymous said...

It's remarkable in support of me to have a web page, which is helpful designed for my experience. thanks admin

my web site phen375 consumer reviews ()

 

Post a Comment

<< Home