IUPnPService::QueryStateVariable 메서드(upnp.h)
QueryStateVariable 메서드는 지정된 서비스의 상태 변수 값을 반환합니다.
구문
HRESULT QueryStateVariable(
[in] BSTR bstrVariableName,
[out] VARIANT *pValue
);
매개 변수
[in] bstrVariableName
값을 반환할 상태 변수를 지정합니다.
[out] pValue
bstrVariableName으로 지정된 변수 값에 대한 참조를 받습니다. 반환되는 데이터 형식은 쿼리가 호출된 상태 변수에 따라 달라집니다.
이 매개 변수를 해제하려면 VariantClear를 사용합니다.
반환 값
메서드가 성공하면 반환 값이 S_OK. 그렇지 않으면 메서드는 WinError.h에 정의된 COM 오류 코드 중 하나 또는 다음 표에 나열된 UPnP 관련 반환 값 중 하나를 반환합니다. 이러한 값 중 일부는 UPnP 인증 디바이스에서 오류가 수신되었음을 나타냅니다. 자세한 내용은 디바이스 오류 코드를 참조하세요.
반환 코드 | 설명 |
---|---|
|
변수가 이벤트되지 않고 원격 쿼리가 오류 코드를 반환했습니다. 전송 오류가 아닙니다. 디바이스가 요청을 받았지만 오류가 반환되었습니다. |
|
디바이스가 30초 제한 시간 내에 응답하지 않았습니다. |
|
변수가 없습니다. |
|
UPnP 프로토콜 수준의 문제로 인해 쿼리가 완료되지 않았습니다. |
|
변수가 이벤트되지 않고 HTTP 문제로 인해 값에 대한 원격 쿼리가 실패했습니다. HTTP 오류 코드를 검색하려면 IUPnPService::LastTransportStatus를 사용합니다. |
|
변수는 이벤트가 발생하지만 UPnP 소프트웨어는 이벤트 알림을 대기 중이므로 값을 반환할 수 없습니다. |
설명
UPnP 포럼에서는 이 메서드의 사용을 권장하지 않습니다. 가능한 경우 서비스별 작업을 사용합니다(제공된 경우).
이 메서드는 서비스 개체의 로컬 캐시에서 이벤트 변수의 값을 검색합니다. 캐시에는 마지막 이벤트 알림에 표시된 각 변수의 값이 포함됩니다. 이 메서드는 디바이스에 원격 쿼리를 전송하여 이벤트가 없는 변수의 값을 검색합니다.
애플리케이션이 이벤트 상태 변수에 대해 이 메서드를 호출하는 경우 서비스가 처음 초기화되는 시간과 첫 번째 이벤트를 처리하는 시간 사이에 UPNP_E_VARIABLE_VALUE_UNKNOWN 반환됩니다.
애플리케이션이 이벤트를 사용하지 않는 서비스에 대해 이 메서드를 호출하고 HTTP 요청이 실패하면 UPNP_E_TRANSPORT_ERROR 반환됩니다. 상태 보려면 IUPnPService::LastTransportStatus를 사용합니다.
이 문제를 해결하려면 제어점에서 time.tz 대신 dataTime.tz 변수 형식을 사용합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | upnp.h |
DLL | Upnp.dll |