Поделиться через


функция обратного вызова PRESOURCE_CONTROL_ROUTINE (resapi.h)

Выполняет операцию, которая применяется к ресурсу. Тип PRESOURCE_CONTROL_ROUTINE определяет указатель на эту функцию.

Синтаксис

PRESOURCE_CONTROL_ROUTINE PresourceControlRoutine;

DWORD PresourceControlRoutine(
  [in]            RESID Resource,
  [in]            DWORD ControlCode,
  [in, optional]  PVOID InBuffer,
  [in]            DWORD InBufferSize,
  [out, optional] PVOID OutBuffer,
  [in]            DWORD OutBufferSize,
  [out]           LPDWORD BytesReturned
)
{...}

Параметры

[in] Resource

Идентификатор затронутого ресурса.

[in] ControlCode

Управляющий код , представляющий выполняемую операцию. Список допустимых значений для параметра ControlCode см. в разделе Коды элементов управления типом ресурса.

[in, optional] InBuffer

Указатель на буфер, содержащий данные для использования в операции. InBuffer может иметь значение NULL , если данные не требуются.

[in] InBufferSize

Размер (в байтах) буфера, на который указывает InBuffer.

[out, optional] OutBuffer

Указатель на буфер, содержащий данные, полученные в результате операции. OutBuffer может иметь значение NULL , если операция не должна возвращать данные.

[in] OutBufferSize

Размер (в байтах) доступного пространства, на который указывает OutBuffer.

[out] BytesReturned

Фактический размер (в байтах) данных, полученных в результате операции.

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

Возвращаемый код или значение Описание
ERROR_SUCCESS
0
Операция, связанная с ControlCode , успешно завершена.
ERROR_INVALID_FUNCTION
1
Библиотека DLL ресурса запрашивает, чтобы монитор ресурсов выполнял обработку по умолчанию (если она есть) для ControlCode в дополнение к обработке, предоставленной библиотекой DLL (если она есть).
ERROR_MORE_DATA
234 (0xEA)
Выделенный размер OutBuffer был слишком мал для хранения запрошенных данных. BytesReturned указывает необходимый размер. При вычислении размеров строк в байтах всегда включайте завершающее значение NULL .
ERROR_RESOURCE_PROPERTIES_STORED
5024 (0x13A0)
Указывает, что новые значения свойств для ресурса были заданы в базе данных кластера, но свойства еще не введены в силу. Новые значения свойств будут применены после того, как ресурс перейдет в автономный режим и перейдет в режим "в сети".
Код ошибки
Операция закончилась неудачно.

Комментарии

Некоторые коды элементов управления должны обрабатываться библиотекой DLL ресурсов, а другие — монитором ресурсов. Эффективные стратегии реализации функции точки входа ResourceControl см. в разделе Реализация ResourceControl.

Примеры

См . статью Примеры библиотек DLL ресурсов.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter
Целевая платформа Windows
Header resapi.h

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

Функции Entry-Point dll ресурсов