다음을 통해 공유


PONLINE_ROUTINE 콜백 함수(resapi.h)

리소스를 사용할 수 있는 것으로 표시합니다. PONLINE_ROUTINE 형식은 이 함수에 대한 포인터를 정의합니다.

구문

PONLINE_ROUTINE PonlineRoutine;

DWORD PonlineRoutine(
  [in]      RESID Resource,
  [in, out] LPHANDLE EventHandle
)
{...}

매개 변수

[in] Resource

사용할 수 있는 리소스에 대한 리소스 식별자입니다.

[in, out] EventHandle

입력 시 EventHandleNULL입니다. 출력에서 EventHandle 은 서명되지 않은 동기화 개체에 대한 핸들을 포함합니다. 리소스 DLL은 리소스 모니터에 리소스 오류를 보고하기 위해 언제든지 이 핸들에 신호를 보낼 수 있습니다. 출력 시 EventHandleNULL로 설정하여 리소스가 비동기 이벤트 알림을 지원하지 않음을 나타낼 수도 있습니다.

반환 값

반환 코드/값 설명
ERROR_SUCCESS
0
작업이 성공했고 이제 리소스가 온라인 상태가 되었습니다.
ERROR_RESOURCE_NOT_AVAILABLE
5006(0x138E)
리소스는 다른 시스템과 중재되었고 다른 시스템 중 하나가 중재에서 승리했습니다. 쿼럼 지원 리소스만 이 값을 반환합니다.
ERROR_IO_PENDING
997(0x3E5)
요청이 보류 중이며 온라인 요청을 처리하기 위해 스레드가 활성화되었습니다.
 

다른 이유로 작업이 성공하지 못한 경우 Online시스템 오류 코드 중 하나를 반환해야 합니다.

설명

Online 진입점 함수가 ERROR_IO_PENDING 이외의 오류 코드를 반환하는 경우 리소스 모니터는 이벤트를 기록하고 Terminate를 호출합니다.

유효한 EventHandle 을 반환하면 다음과 같은 이점이 있습니다.

  • 리소스 모니터는 LooksAlive 폴링을 수행하지 않습니다. 이 오버헤드를 방지하는 것은 특히 DLL이 여러 리소스 인스턴스를 지원하는 경우에 유용합니다.
  • 언제든지 핸들에 신호를 전송하여 리소스 오류를 보고할 수 있습니다. 리소스 모니터는 즉시 IsAlive 를 호출하여 리소스가 실패했는지 확인합니다.
온라인 진입점 함수의 효과적인 구현 전략은 온라인 구현을 참조하세요.

예제

리소스 DLL 예제를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
대상 플랫폼 Windows
헤더 resapi.h

추가 정보

NetShareAdd

리소스 DLL Entry-Point 함수