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
작업으로 인한 데이터의 실제 크기(바이트)입니다.
반환 값
반환 코드/값 | 설명 |
---|---|
|
ControlCode와 연결된 작업이 성공적으로 완료되었습니다. |
|
리소스 DLL은 DLL에서 제공하는 처리 외에도 ControlCode에 대한 기본 처리(있는 경우)를 리소스 모니터에 수행하도록 요청했습니다(있는 경우). |
|
할당된 OutBuffer 크기가 너무 작아서 요청된 데이터를 보유할 수 없습니다. BytesReturned은 필요한 크기를 나타냅니다. 문자열의 바이트 크기를 계산할 때 항상 종료 NULL 을 포함합니다. |
|
리소스에 대한 새 속성 값이 클러스터 데이터베이스에 설정되었지만 속성이 아직 적용되지 않음을 나타냅니다. 리소스가 오프라인으로 전환되고 온라인 상태가 되면 새 속성 값이 적용됩니다. |
작업에 실패한 경우 |
설명
일부 제어 코드는 리소스 DLL에서 처리해야 하고 다른 컨트롤 코드는 리소스 모니터에 남아 있어야 합니다. ResourceControl 진입점 함수의 효과적인 구현 전략은 ResourceControl 구현을 참조하세요.
예제
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
대상 플랫폼 | Windows |
헤더 | resapi.h |