CAsyncMonikerFile::CreateBindStatusCallback
更新 : 2007 年 11 月
COM オブジェクトを作成し、IBindStatusCallback を実装します。
virtual IUnknown* CreateBindStatusCallback(
IUnknown* pUnkControlling
);
パラメータ
- pUnkControlling
制御側の IUnknown (外部 IUnknown) へのポインタ。集約を使用しない場合は、NULL にします。
戻り値
pUnkControlling を NULL 以外にすると、IBindStatusCallback をサポートする新規 COM オブジェクトの内部 IUnknown を指すポインタが返されます。pUnkControlling を NULL にすると、IBindStatusCallback をサポートする新規 COM オブジェクトの IUnknown を指すポインタが返されます。
解説
CAsyncMonikerFile には、IBindStatusCallback を実装する COM オブジェクトが必要です。MFC は、このようなオブジェクトを実装し、集約できます。CreateBindStatusCallback をオーバーライドすると、独自の COM オブジェクトを返すことができます。独自の COM オブジェクトに MFC の実装を集約するには、CreateBindStatusCallback を呼び出すときに、COM オブジェクトの制御側の IUnknown を指定します。CCmdTarget の COM サポートを使用して実装した COM オブジェクトは、CCmdTarget::GetControllingUnknown を使用して、制御側の IUnknown を取得できます。
自作 COM オブジェクトから MFC の実装に処理を任せることもできます。この場合は、CreateBindStatusCallback( NULL ) を呼び出します。
CAsyncMonikerFile::Open は、CreateBindStatusCallback を呼び出します。
非同期モニカと非同期バインドの詳細については、IBindStatusCallback インターフェイスに関するトピックおよび「How Asynchronous Binding and Storage Work」を参照してください。集約については、「Aggregation」を参照してください。これらの 3 つのトピックはすべて Windows SDK にあります。
必要条件
ヘッダー : afxole.h