Melt 1 tablespoon of butter with oil in a large heavy skillet over medium-high heat. Add mushrooms; cook, tossing constantly, until lightly browned, 4 minutes. Transfer to a bowl, using a slotted spoon, and set aside.
Reduce heat under the skillet to low. Add 1 tablespoon butter; stir in shallot, cook 1 minute. Add garlic; cook 4 minutes longer. Stir in the wine, scraping the bottom and sides. Heat to boiling; boil until slightly syrupy, about 4 minutes. Reduce heat to medium-low, add barley and mushrooms; stir until well coated with shallot mixture. Stir in 1 cup of the hot stock. Cook, stirring frequently, until all liquid has been absorbed, about 15 minutes. (If the liquid absorbs too quickly, reduce heat.)
Stir in another cup of stock and continue to cook, stirring frequently, until all liquid has been absorbed, about 15 minutes.
Add another cup of stock and continue to cook, stirring frequently, until all liquid has been absorbed, about 15 minutes.
Add remaining ½ cup stock; continue to cook until barley is tender and all liquid has been absorbed, about 15 minutes. Sprinkle with parsley, and serve with Parmesan cheese. Serves 4.