IUPnPServiceAsync::BeginQueryStateVariable メソッド (upnp.h)
BeginQueryStateVariable メソッドは、特定のサービスから状態変数値の非同期要求を開始します。 さらに、遅延したサービス制御プロトコルの説明 (SCPD) のダウンロードとイベント サブスクリプションにオプトインが示されていて、まだ実行されていない場合、このメソッドは SCPD のダウンロードとイベント サブスクリプションを開始します。
構文
HRESULT BeginQueryStateVariable(
[in] BSTR bstrVariableName,
[in, optional] IUPnPAsyncResult *pAsyncResult,
[out] PULONG64 pullRequestID
);
パラメーター
[in] bstrVariableName
要求された状態変数の値を指定します。
[in, optional] pAsyncResult
IUPnPAsyncResult オブジェクトへのポインター。 BeginQueryStateVariable 呼び出しが完了すると、UPnP は IUPnPAsyncResult::AsyncOperationComplete メソッドを使用してコントロール ポイントに通知します。
[out] pullRequestID
非同期 I/O 操作を識別するために使用される 64 ビット ULONG 値へのポインター。 UPnP コントロール ポイントは、 EndQueryStateVariable でこの操作を終了または取り消すときに、このハンドルを使用する必要があります。
戻り値
成功すると S_OK を返します。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードまたは次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
非同期操作を開始できませんでした。 |
|
bstrVariableName で示される要求された状態変数が存在しません。 |
解説
このメソッドを使用してイベント状態変数に対してクエリを実行する前に、イベント サブスクリプションを完了する必要があります。 これが発生しない場合は、 UPNP_E_VARIABLE_VALUE_UNKNOWN が返され、イベント サブスクリプションが内部的に行われます。 その結果、次の BeginQueryStateVariable 呼び出しは成功します。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | upnp.h |
[DLL] | Upnp.dll |