BindToObjectのドキュメントでは、CreateBindCtxを使用してバインド コンテキストを作成し、それを渡すことができることを示唆しています。
HRESULT hr; // An error code
IMoniker * pMnk; // A previously acquired interface moniker
// Obtain an IBindCtx interface.
IBindCtx * pbc;
hr = CreateBindCtx(NULL, &pbc);
if (FAILED(hr)) exit(0); // Handle errors here.
// Obtain an implementation of pCellRange.
ICellRange * pCellRange;
hr = pMnk->BindToObject(pbc, NULL, IID_ICellRange, &pCellRange);
if (FAILED(hr)) exit(0); // Handle errors here.
// Use pCellRange here.
// Release interfaces after use.
pbc->Release();
pCellRange->Release();
インターフェイスは、オブジェクトがサポートする必要がある動作のみを記述しますが、それをサポートするために必要な方法は記述しません。一方では、実装するオブジェクトでバインド コンテキストを渡す必要がある場合と、そうでない場合があります。あなたが指摘したドキュメントではそれが省略されているため、おそらくあなたの状況では必要ありません。
一方、バインド コンテキスト オブジェクトを作成して渡すことは大したことではないように思えます。すべての呼び出しに同じものを渡すことができるBindToObject
ので、オーバーヘッドは小さいかもしれません。したがって、それが必要であると心配している場合は、私はそれを行います.