Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает указатель на реализацию IBindCtx (объект контекста привязки). Этот объект хранит сведения о конкретной операции привязки моникера.
Синтаксис
HRESULT CreateBindCtx(
[in] DWORD reserved,
[out] LPBC *ppbc
);
Параметры
[in] reserved
Этот параметр зарезервирован и должен иметь значение 0.
[out] ppbc
Адрес переменной указателя IBindCtx*, которая получает указатель интерфейса на новый объект контекста привязки. При успешном выполнении функции вызывающий объект отвечает за вызов Release в контексте привязки. Значение NULL для контекста привязки указывает, что произошла ошибка.
Возвращаемое значение
Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY и S_OK.
Комментарии
CreateBindCtx чаще всего используется в процессе привязки моникера (поиск и получение указателя на интерфейс путем его идентификации с помощью моникера), как показано ниже.
- Получите указатель на контекст привязки, вызвав функцию CreateBindCtx .
- Вызовите метод IMoniker::BindToObject для моникера, извлекая указатель интерфейса на объект, на который ссылается моникер.
- Освобождение контекста привязки.
- Используйте указатель интерфейса.
- Отпустите указатель интерфейса.
// pMnk is an IMoniker * that points to a previously acquired moniker
IInterface *pInterface;
IBindCtx *pbc;
CreateBindCtx( 0, &pbc );
pMnk->BindToObject( pbc, NULL, IID_IInterface, &pInterface );
pbc->Release();
// pInterface now points to the object; safe to use pInterface
pInterface->Release();
Контексты привязки также используются в других методах интерфейса IMoniker , помимо IMoniker::BindToObject и в функции MkParseDisplayName .
Контекст привязки сохраняет ссылки на объекты, привязанные во время операции привязки, что приводит к тому, что связанные объекты остаются активными (сохраняя работу сервера объекта) до тех пор, пока контекст привязки не будет освобожден. Повторное использование контекста привязки при последующих операциях привязки к тому же объекту может повысить производительность. Однако следует как можно скорее освободить контекст привязки, так как объекты могут быть активированы без необходимости.
Контекст привязки содержит структуру BIND_OPTS , которая содержит параметры, которые применяются ко всем шагам в операции привязки. При создании контекста привязки с помощью CreateBindCtx поля структуры BIND_OPTS инициализируются следующим образом.
cbStruct = sizeof(BIND_OPTS)
grfFlags = 0
grfMode = STGM_READWRITE
dwTickCountDeadline = 0
Чтобы изменить эти значения по умолчанию, можно вызвать метод IBindCtx::SetBindOptions .
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | objbase.h |
| Библиотека | Ole32.lib |
| DLL | Ole32.dll |