The example looks incomplete. You use the
slaves option to add several sinks to the combined sink:
load-module module-combine-sink sink_name=combination-sink sink_properties=device.description=myCombinationSink slaves=sink1,sink2[,...] channels=2
sink1 etc. are the sinks you want to combine.
Also, usually you don't need to load modules for ALSA hardware, they should be loaded automatically.
list-sinks to get a list of available sinks (or use
pavucontrol if you prefer a GUI).
hw:0,0 is an ALSA name for a device. The
module-alsa-* modules make ALSA devices available as Pulseaudio sources and sinks. When you use other Pulseaudio modules which refer to existing sources/sinks, you use of course the Pulseaudio names (see
pacmd list-sinks etc., without the angular brackets). The ALSA names are not relevant in Pulseaudio.
I'm not sure what you mean by "virtual devices". Pulseaudio has sources and sinks, of various different kinds. Some of those correspond to physical hardware available via ALSA, some of those correspond to streaming audio on the network, some of those correspond to physical Bluetooth devices (not via ALSA), and some of those are neither. Pulseaudio doesn't care what they are, they are just sources and sinks, and none of them is called "virtual".
Sink names on my system:
$ pacmd list-sinks | grep name:
$ pactl list short sinks
0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
1 alsa_output.usb-Roland_UA-25EX-00.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
So, on my system:
pacmd load-module module-combine-sink sink_name=combined sink_properties=device.description=CombinedSink slaves=alsa_output.pci-0000_00_1b.0.analog-stereo,alsa_output.usb-Roland_UA-25EX-00.analog-stereo
To repeat: No, you cannot use names like
hw:1 for Pulseaudio. These are ALSA names for ALSA devices accessed through ALSA libraries. You can use them in Pulseaudio in exactly one place, namely when an ALSA module (
module-aslsa-card) is loaded that makes the ALSA devices available to Pulseaudio. Everywhere else you use the Pulseaudio sink names obtained from the list commands above (or by loading modules that provide sinks like
module-null-sink and giving them names).
I'm not sure what you mean by "absolute name". The name is whatever the module that provides the sink chooses to set. It can often be specified as a parameter when the module is loaded, or it can be chosen by the module when it's not specified, like it is done for the ALSA sinks (using the hardware location) when the modules are loaded by default when Pulseaudio starts. But all this doesn't matter: Just look at what sinks you have, and use the right one. And if you load additional modules, name the sink, if you like.