This is similar to
nsISupports.QueryInterface(). The main difference is that interfaces returned are not required to provide a way back to the object implementing
nsIInterfaceRequestor. The semantics of
nsISupports.QueryInterface() dictate that given an interface A that you
nsISupports.QueryInterface() on to get to interface B, you must be able to
nsISupports.QueryInterface() on B to get back to A.
nsIInterfaceRequestor, however, allows you to obtain an interface C from A that may (or most likely) will not have the ability to get back to A.
Retrieves the specified interface pointer.
void getInterface( in nsIIDRef uuid, [iid_is(uuid),retval] out nsQIResult result );
- The IID of the interface being requested.
- The interface pointer to be filled in if the interface is accessible.
- The requested interface is not available.