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 |