Метод IDXCoreAdapterFactory::UnregisterEventNotification

Отменяет регистрацию в уведомлении, которое вы ранее зарегистрировали. Рекомендации по программированию и примеры кода см. в статье Использование DXCore для перечисления адаптеров.

Синтаксис

virtual HRESULT STDMETHODCALLTYPE UnregisterEventNotification(
  uint32_t eventCookie) = 0;

Параметры

eventCookie

Тип: uint32_t

Значение файла cookie (возвращаемое при вызове IDXCoreAdapterFactory::RegisterEventNotification), представляющее предварительную регистрацию, для которой теперь требуется отменить регистрацию.

Возвращаемое значение

Тип: HRESULT

Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.

Возвращаемое значение Описание
E_INVALIDARG Значение eventCookie не является допустимым файлом cookie, представляющим предварительную регистрацию.

Комментарии

UnregisterEventNotification возвращается только после завершения всех ожидающих и выполняющихся обратных вызовов для этой регистрации. DXCore гарантирует, что после возврата unregisterEventNotification новые обратные вызовы для этой регистрации не будут выполняться. Однако, чтобы избежать взаимоблокировки, при вызове UnregisterEventNotification из обратного вызова UnregisterEventNotification не будет ожидать завершения активного обратного вызова.

Важно!

Перед уничтожением объекта DXCore, представленного аргументом dxCoreObject , переданным в IDXCoreAdapterFactory::RegisterEventNotification, необходимо использовать значение файла cookie, чтобы отменить регистрацию этого объекта в уведомлениях, вызвав UnregisterEventNotification. Если этого не сделать, при обнаружении ситуации возникает неустранимое исключение.

После отмены регистрации значения файла cookie это значение может быть возвращено последующей регистрацией.

См. также раздел

IDXCoreAdapter, IDXCoreAdapterList, IDXCoreAdapterFactory::UnregisterEventNotification, DXCore Reference, Использование DXCore для перечисления адаптеров