This is an archived page. It's not actively maintained.


This interface represents a proxy for an XPCOM object. It allows a consumer to hold an indirect, non-owning reference to an XPCOM object.
Inherits from: nsISupports Last changed in Gecko 0.9.9

An instance of nsIWeakReference is a proxy object that cooperates with its referent to give clients a non-owning, non-dangling reference. Clients own the nsIWeakReference instance.

Method overview

void QueryReferent( in nsIIDRef uuid, [iid_is(uuid), retval] out nsQIResult result );



This method queries an interface on the referent if it exists, and like nsISupports.QueryInterface(), produces an owning reference to the desired interface.")}} It is designed to look and act exactly like (a proxied) nsISupports.QueryInterface(). Do not hold on to the produced interface permanently; that would defeat the purpose of using a non-owning nsIWeakReference in the first place.

void QueryReferent(
  in nsIIDRef uuid,
  [iid_is(uuid), retval] out nsQIResult result
The UUID of the requested interface.
The resulting interface pointer.
Exceptions thrown
The referent no longer exists.
The requested interface is not available.


This interface was frozen for Gecko 0.9.9. See bug 48726 for details. From Gecko 2.0 interfaces are no longer frozen.

See also