다음을 통해 공유


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

작업에 사용할 데이터가 포함된 버퍼에 대한 포인터입니다. 데이터가 필요하지 않은 경우 InBufferNULL일 수 있습니다.

[in] InBufferSize

InBuffer가 가리키는 버퍼의 크기(바이트)입니다.

[out, optional] OutBuffer

작업으로 인한 데이터를 포함하는 버퍼에 대한 포인터입니다. 작업에서 데이터를 반환할 필요가 없는 경우 OutBufferNULL일 수 있습니다.

[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 함수