Rinse the fish; pat dry with paper towels. In a fish poacher or large roasting pan that has a wire rack with handles, add 3 cups dry white wine or broth.
Tie bay leaf, parsley, thyme, and peppercorns in a double-thick square piece of 100-percent cotton cheesecloth; add to wine. Stir in 1/2 teaspoon salt. Place pan over two burners on range top. Bring to boiling; reduce heat.
Grease wire rack; place fish on rack and lower into pan. Simmer, covered, for 6 to 10 minutes or until fish just flakes easily when tested with a fork. Remove fish; keep warm.
Meanwhile, for sauce, in a 10-inch skillet, cook onions in 1 tablespoon butter until tender. Add 1 cup wine with some salt and pepper; boil gently, uncovered, 5 minutes or until sauce is reduced by half.
Reduce heat to medium. Add cream. Cook and stir 7 to 10 minutes or until sauce is thickened. Whisk in the 5 tablespoons butter, 1 tablespoon at a time. Remove from heat; keep warm.
In another skillet, cook mushrooms in the remaining 2 tablespoons butter for about 5 minutes or until mushrooms are tender and liquid has evaporated. Stir mushrooms and shrimp into sauce in skillet. Heat through.
Serve salmon with sauce. Garnish with lemon. Makes 6 servings.