mozilla

Compare Revisions

Implementing QueryInterface

Change Revisions

Revision 181455:

Revision 181455 by Mgjbot on

Revision 382839:

Revision 382839 by MattBrubeck on

Title:
Implementing QueryInterface
Implementing QueryInterface
Slug:
Implementing_QueryInterface
Implementing_QueryInterface
Tags:
XPCOM
"XPCOM"
Content:

Revision 181455
Revision 382839
n11      <br>n11      &nbsp;
n90      The sample above implements two {{ mediawiki.external('XP')n90      The sample above implements two XPCOM interfaces in additio
> }}COM interfaces in addition to <code>nsISupports</code>. The <c>n to <code>nsISupports</code>. The <code>NS_IMPL_QUERY_INTERFACE2
>ode>NS_IMPL_QUERY_INTERFACE2</code> macro can write this function></code> macro can write this function for you (though it pains me
> for you (though it pains me to recommend macros), e.g.,> to recommend macros), e.g.,
91    </p>
92    <p>91    </p>
93      <br>92    <p>
93      &nbsp;
n103      Similarly, you can use the macro <code>NS_IMPL_QUERY_INTERFn103      Similarly, you can use the macro <code>NS_IMPL_QUERY_INTERF
>ACE1</code> when you implement only one additional interface; and>ACE1</code> when you implement only one additional interface; and
> <code>NS_IMPL_QUERY_INTERFACE0</code> when you only implement <c> <code>NS_IMPL_QUERY_INTERFACE0</code> when you only implement <c
>ode>nsISupports</code>. These macros will be invoked for you if y>ode>nsISupports</code>. These macros will be invoked for you if y
>ou use the <code>NS_IMPL_ISUPPORTS</code>{{ mediawiki.external('<>ou use the <code>NS_IMPL_ISUPPORTS*</code> macros, which give the
>code>' .. 012 .. '</code>') }} macros, which give the correspondi> corresponding <code>QueryInterface</code> implementation, plus a
>ng <code>QueryInterface</code> implementation, plus an <code>AddR>n <code>AddRef</code> and a <code>Release</code>.
>ef</code> and a <code>Release</code>. 
n112      <br>n112      &nbsp;
n161      <br>n161      &nbsp;
n194      <br>n194      &nbsp;
n215      <br>n215      &nbsp;
tt230    <div class="noinclude">
231      &nbsp;
232    </div>
233    <p>
230    <div class="noinclude"></div>{{ languages( { "ja": "ja/Implem234      {{ languages( { "ja": "ja/Implementing_QueryInterface" } ) 
>enting_QueryInterface" } ) }}>}}
235    </p>

Back to History