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 |