Share via


WPUQueryBlockingCallback 함수(ws2spi.h)

WPUQueryBlockingCallback 함수는 차단 작업을 서비스하는 동안 서비스 공급자가 주기적으로 호출해야 하는 콜백 함수에 대한 포인터를 반환합니다.

구문

int WPUQueryBlockingCallback(
  [in]  DWORD              dwCatalogEntryId,
  [out] LPBLOCKINGCALLBACK *lplpfnCallback,
  [out] PDWORD_PTR         lpdwContext,
  [out] LPINT              lpErrno
);

매개 변수

[in] dwCatalogEntryId

호출 서비스 공급자를 식별하는 설명자입니다.

[out] lplpfnCallback

차단 콜백 함수를 수신하는 포인터입니다.

[out] lpdwContext

서비스 공급자가 차단 콜백에 전달해야 하는 컨텍스트 값을 수신하는 포인터입니다.

[out] lpErrno

오류 코드에 대한 포인터입니다.

반환 값

오류가 발생하지 않으면 WPUQueryBlockingCallback 은 0을 반환하고 lpfnCallback 의 차단 콜백 함수에 대한 포인터와 lpdwContext의 연결된 컨텍스트 값을 저장합니다. 그렇지 않으면 SOCKET_ERROR 반환하고 lpErrno에서 특정 오류 코드를 사용할 수 있습니다.

오류 코드 의미
WSAEFAULT
lpfnCallback 또는 lpdwContext 매개 변수는 프로세스 주소 공간의 유효한 부분이 아닙니다.
WSAEINVAL
dwCatalogEntryId 매개 변수가 잘못되었습니다.
 
 

설명

WPUQueryBlockingCallback 함수는 차단 작업 중에 주기적으로 호출될 lpfnCallback의 콜백 함수에 대한 포인터를 반환합니다. 또한 이 함수는 차단 콜백에 전달될 lpdwContext 의 컨텍스트 값을 반환합니다.

Windows에서 이 함수는 lpfnCallback에서 null을 반환할 수 있으며, 이는 사용자 정의 차단 후크가 설치되지 않았음을 나타냅니다. 이 경우 서비스 공급자는 네이티브 Windows 동기화 개체를 사용하여 차단을 구현해야 합니다.

LPBLOCKINGCALLBACK은 다음과 같이 정의됩니다.

typedef BOOL ( CALLBACK FAR * LPBLOCKINGCALLBACK )( DWORD dwContext );

서비스 공급자가 차단 작업이 완료될 때까지 계속 대기하는 경우 차단 콜백은 TRUE 를 반환합니다. WSPCancelBlockingCall을 사용하여 차단 작업이 취소된 경우 FALSE를 반환합니다.

주소의 누락된 구성 요소는 가능한 경우 기본적으로 적절한 값으로 설정됩니다. 예를 들어 누락된 포트 번호는 기본적으로 0으로 설정됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ws2spi.h

추가 정보

WSPCancelBlockingCall