次の方法で共有


CFactoryTemplate::m_lpfnNew

オブジェクトのインスタンスを作成する関数へのポインタ。

構文

  typedef CUnknown *(CALLBACK *LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr);

LPFNNewCOMObject m_lpfnNew;

注意

DLL で、オブジェクトの新しいインスタンスへのポインタを返す静的な関数を宣言すること。ファクトリ テンプレートでは、m_lpfnNew メンバ変数にこの静的な関数のアドレスを設定する。

次の例は m_lpfnNew の典型的な関数を示している。

CUnknown * WINAPI CMyComponent::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) 
{
    CMyComponent *pNewObject = new CMyComponent(NAME("My Component"), pUnk, pHr );
    if (pNewObject == NULL) 
{
        *phr = E_OUTOFMEMORY;
    }
    return pNewObject;
} 

参照