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