This plus a gate driver gets you a solid amp or so of output drive:
Add on a feedback error amp (to match the above servo example, it'd be the 2 x 82.5R current feedback and U?C error amp) and you've got a class D amp with constant current output and no dead band (give or take if you replace the crusty old LM324 with a nicer e.g. TLV2372
).
Something like TC4420 has a 6A peak output capacity, from a few ohms output resistance; it would be fine at 100s mA continuous duty, if maybe not an ampere or more. It's actually rated for reactive current of similar magnitude (500mA without causing CMOS latchup). Else you can add any inverter you like (last example I used, TPS28225 + SIS932EDN).
And as power goes up and dissipation rating goes down, you can consider other current sense or fault protection mechanisms.
Again, you can get various chips that basically integrate all this functionality into a little amp, all you need are a couple bias resistors (if that), a bypass, and some filtering (which you may be able to waive).
Even for something like a solenoid valve, this approach isn't completely off the wall. Higher voltage drive can be used to accelerate response time; a constant-current driver should then be used to maintain holding current. You can actually get higher performance at lower overall power consumption this way (depending on how close to minimum holding current you want to run at, and how often it's switched). When this is done with switching sources, you can get even better improvement. There are relay/solenoid drivers/controllers for this purpose. (I don't know any part numbers offhand, though.)
Tim