Метод IDispenserManager::RegisterDispenser (comsvcs.h)

Регистрирует диспенсер ресурсов в диспетчере диспенсера.

Синтаксис

HRESULT RegisterDispenser(
  [in]  IDispenserDriver *__MIDL__IDispenserManager0000,
  [in]  LPCOLESTR        szDispenserName,
  [out] IHolder          **__MIDL__IDispenserManager0001
);

Параметры

[in] __MIDL__IDispenserManager0000

Интерфейс IDispenserDriver , который диспенсер ресурсов предлагает диспетчеру диспенсера для последующего уведомления распределителя ресурсов.

[in] szDispenserName

Понятное имя диспенсера ресурсов для отображения администратора.

[out] __MIDL__IDispenserManager0001

Интерфейс IHolder , созданный для диспенсера ресурсов.

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

Если метод выполнен успешно, возвращаемое значение будет S_OK. В противном случае это E_FAIL.

Комментарии

Диспенсер ресурсов уведомляет диспетчера диспенсеров о том, что он запущен и готов принимать уведомления об этом интерфейсе IDispenserDriver . Затем диспетчер диспенсера создает держатель для этого нового диспенсера ресурсов и возвращает его в диспенсер ресурсов.

Этот метод не вызывает AddRef для объекта pDispenserDriver , но IHolder::Close выполняет выпуск в pDispenserDriver. Это может привести к преждевременному уничтожению объекта "Диспенсер ресурсов". Чтобы предотвратить это преждевременное уничтожение, вызывающий объект IDispenserManager::RegisterDispenser должен явно вызвать AddRef для объекта pDispenserDriver .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header comsvcs.h

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

IDispenserManager