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 请求资源监视器执行默认处理 ((如果存在任何) )DLL 提供的处理(如果为 ControlCode (执行任何) )。
ERROR_MORE_DATA
234 (0xEA)
OutBuffer 的分配大小太小,无法容纳请求的数据。 BytesReturned 指示所需的大小。 计算字符串的字节大小时,始终包含终止 NULL
ERROR_RESOURCE_PROPERTIES_STORED
5024 (0x13A0)
指示已在群集数据库中设置资源的新属性值,但属性尚未生效。 新属性值将在资源脱机并联机后应用。
错误代码
操作失败。

注解

某些控制代码应由资源 DLL 处理,而其他控制代码应由资源监视器处理。 有关 ResourceControl 入口点函数的有效实现策略,请参阅 实现 ResourceControl

示例

请参阅 资源 DLL 示例

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
目标平台 Windows
标头 resapi.h

另请参阅

资源 DLL Entry-Point 函数