PONLINE_ROUTINE 콜백 함수(resapi.h)
리소스를 사용할 수 있는 것으로 표시합니다. PONLINE_ROUTINE 형식은 이 함수에 대한 포인터를 정의합니다.
구문
PONLINE_ROUTINE PonlineRoutine;
DWORD PonlineRoutine(
[in] RESID Resource,
[in, out] LPHANDLE EventHandle
)
{...}
매개 변수
[in] Resource
사용할 수 있는 리소스에 대한 리소스 식별자입니다.
[in, out] EventHandle
입력 시 EventHandle 은 NULL입니다. 출력에서 EventHandle 은 서명되지 않은 동기화 개체에 대한 핸들을 포함합니다. 리소스 DLL은 리소스 모니터에 리소스 오류를 보고하기 위해 언제든지 이 핸들에 신호를 보낼 수 있습니다. 출력 시 EventHandle을 NULL로 설정하여 리소스가 비동기 이벤트 알림을 지원하지 않음을 나타낼 수도 있습니다.
반환 값
반환 코드/값 | 설명 |
---|---|
|
작업이 성공했고 이제 리소스가 온라인 상태가 되었습니다. |
|
리소스는 다른 시스템과 중재되었고 다른 시스템 중 하나가 중재에서 승리했습니다. 쿼럼 지원 리소스만 이 값을 반환합니다. |
|
요청이 보류 중이며 온라인 요청을 처리하기 위해 스레드가 활성화되었습니다. |
다른 이유로 작업이 성공하지 못한 경우 Online 은 시스템 오류 코드 중 하나를 반환해야 합니다.
설명
Online 진입점 함수가 ERROR_IO_PENDING 이외의 오류 코드를 반환하는 경우 리소스 모니터는 이벤트를 기록하고 Terminate를 호출합니다.
유효한 EventHandle 을 반환하면 다음과 같은 이점이 있습니다.
- 리소스 모니터는 LooksAlive 폴링을 수행하지 않습니다. 이 오버헤드를 방지하는 것은 특히 DLL이 여러 리소스 인스턴스를 지원하는 경우에 유용합니다.
- 언제든지 핸들에 신호를 전송하여 리소스 오류를 보고할 수 있습니다. 리소스 모니터는 즉시 IsAlive 를 호출하여 리소스가 실패했는지 확인합니다.
예제
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
대상 플랫폼 | Windows |
헤더 | resapi.h |