IPrinterQueue::SendBidiQuery 메서드(printerextension.h)

지정된 쿼리를 사용하여 비동기 새로 고침 작업을 수행하고 IPrinterQueueEvent::OnBidiResponseReceived 메서드를 호출합니다.

구문

HRESULT SendBidiQuery(
  [in] BSTR bstrBidiQuery
);

매개 변수

[in] bstrBidiQuery

지정된 쿼리입니다.

반환 값

이 메서드는 HRESULT 값을 반환합니다.

설명

SendBidiQuery 메서드가 호출되면 사용 가능한 캐시된 응답이 있는 경우 IPrinterQueueEvent::OnBidiResponseReceived 이벤트를 즉시 발생시킵니다. 그런 다음 인쇄 시스템은 비동기 작업을 시작하여 Bidi 통신 인터페이스를 사용합니다. 이 시점에서 SendBidiQuery 가 반환되므로 호출자의 차단을 해제합니다. 비동기 작업이 완료되면 인쇄 시스템에서 IPrinterQueueEvent::OnBidiResponseReceived 이벤트를 다시 발생시킵니다. SendBidiQuery 는 의도적으로 연결된 응답에서 분리됩니다. 캐시된 데이터가 없는 경우 결과 대기 시간이 많은 요인으로 인해 발생할 수 있으며 즉각적인 응답을 기대할 수 없으므로 분리가 수행됩니다. 또한 호출자는 캐시된 데이터가 있는지 여부 및 디바이스의 응답이 있는지 여부에 따라 여러 응답을 받을 수 있습니다.

Bidi 통신 인터페이스를 사용하면 포트 모니터가 요청된 기본 값을 새로 고칩니다. USB의 경우 JavaScript 구성 요소를 사용할 수 있는 경우 JavaScript 코드가 호출되어 요청된 값을 새로 고칩니다.

캐시는 다음과 같은 상황에서도 업데이트됩니다.

  • 미리 결정된 간격

    • WSD 디바이스의 경우 디바이스가 이벤트를 통해 변경 내용을 보고할 때 데이터가 업데이트됩니다.

    • TCP & USB 디바이스의 경우 새로 고침 간격은 Bidi 값이 정의된 위치를 기반으로 합니다.

    • 포트 모니터의 포함된 Bidi 파일에 정의된 모든 표준 Bidi 값은 포트 모니터에서 미리 설정된 간격으로 새로 고쳐집니다. 특정 Bidi 쿼리가 IHV Bidi 확장의 일부인 경우 새로 고침 간격은 각 개별 값에 대한 XML 확장 파일에 지정됩니다.

  • 프린터 구성이 변경되는 경우

    • 예를 들어 WSD 기반 디바이스가 이벤트를 발생시키면 스풀러(WSDMon)가 디바이스에 대한 무언가가 변경되었음을 알 수 있습니다. 즉, 프린터 구성이 변경되었습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 printerextension.h

추가 정보

Bidi 통신 인터페이스

IPrinterQueue

IPrinterQueueEvent::OnBidiResponseReceived