Because GUID are 16 bytes in size, you don’t want to pass them by value. Instead, you should pass them by reference. This is why Queryinterface takes a constant reference.
If you get tired of writing const IID&, you can always use the equivalent expression REFIID. You can also use REFCLSID for passing class identifiers, and you can use REFGUID for passing GUIDs.