IWSDServiceProxyEventing
COM公式ドキュメント
クライアントアプリケーションおよびミドルウェア向けに、リモートの WSD サービスを表します。このインターフェイスにより、複数の非同期操作を実装できます。
メソッド 12
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
通知イベントまたは solicit/response イベントの集合に対してサブスクライブします。
| pOperations | WSD_OPERATION* | in | サブスクライブする操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pUnknown | IUnknown* | inoptional | クライアントのイベントコールバック関数に渡される匿名データ。このデータは、クライアントオブジェクトをサブスクリプションに関連付けるために使用されます。 |
| pExpires | WSD_EVENTING_EXPIRES* | inoptional | サブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | サブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
戻り値には、以下のものが含まれます (ただしこれらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| プロキシは pOperation で指定された操作に既にサブスクライブしています。 | |
| 操作を完了するためのメモリが不足しています。 | |
| メソッドが失敗しました。 |
解説(Remarks)
このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。
このメソッドは同期的であり、要求が完了するか、有効期限の条件が満たされた時点で戻ります。
通知イベントまたは solicit/response イベントの集合にサブスクライブする非同期操作を開始します。
| pOperations | WSD_OPERATION* | in | サブスクライブする操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pUnknown | IUnknown* | inoptional | クライアントのイベントコールバック関数に渡される匿名データ。このデータは、クライアントオブジェクトをサブスクリプションに関連付けるために使用されます。 |
| pExpires | WSD_EVENTING_EXPIRES* | inoptional | サブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| pAsyncState | IUnknown* | inoptional | コールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。 |
| pAsyncCallback | IWSDAsyncCallback* | inoptional | メッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。 |
| ppResult | IWSDAsyncResult** | out | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。
このメソッドは非同期であり、直ちに戻ります。呼び出し元は、その後 EndSubscribeToMultipleOperations を呼び出す必要があります。
通知イベントまたは solicit/response イベントの集合にサブスクライブする非同期操作を完了します。
| pOperations | WSD_OPERATION* | in | サブスクライブ済みの操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pResult | IWSDAsyncResult* | in | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | サブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。
このメソッドは、先行する非同期の BeginSubscribeToMultipleOperations 呼び出しの結果を取得するために使用します。
通知イベントまたは solicit/response イベントに対するサブスクリプションの集合を取り消します。
| pOperations | WSD_OPERATION* | in | サブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pAny | WSDXML_ELEMENT* | in | 要求の本文に追加する拡張データへのポインター。 |
戻り値
戻り値には、以下のものが含まれます (ただしこれらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| メソッドは正常に完了しました。 | |
| プロキシは pOperation で指定された通知にサブスクライブしていません。 | |
| pOperation が NULL です。 |
解説(Remarks)
このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。
通知イベントまたは solicit/response イベントの集合に対するサブスクリプションを取り消す非同期要求を開始します。
| pOperations | WSD_OPERATION* | in | サブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| pAsyncState | IUnknown* | inoptional | コールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。 |
| pAsyncCallback | IWSDAsyncCallback* | inoptional | メッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。 |
| ppResult | IWSDAsyncResult** | out | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
通知イベントまたは solicit/response イベントの集合に対するサブスクリプションを取り消す非同期要求を完了します。
| pOperations | WSD_OPERATION* | in | サブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pResult | IWSDAsyncResult* | in | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
新しい期間を指定して、既存の通知サブスクリプションの集合を更新 (更新延長) します。
| pOperations | WSD_OPERATION* | in | 更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pExpires | WSD_EVENTING_EXPIRES* | inoptional | サブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | 更新されたサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは更新要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
新しい期間を指定して既存の通知サブスクリプションの集合を更新する非同期操作を開始します。
| pOperations | WSD_OPERATION* | in | 更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pExpires | WSD_EVENTING_EXPIRES* | inoptional | サブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| pAsyncState | IUnknown* | inoptional | コールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。 |
| pAsyncCallback | IWSDAsyncCallback* | inoptional | メッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。 |
| ppResult | IWSDAsyncResult** | out | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
新しい期間を指定して既存の通知サブスクリプションの集合を更新する非同期操作を完了します。
| pOperations | WSD_OPERATION* | in | 更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pResult | IWSDAsyncResult* | in | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | 更新されたサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
現在の状態を取得します。
| pOperations | WSD_OPERATION* | in | 状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | サブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは getstatus 要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
現在の状態を取得する非同期操作を開始します。
| pOperations | WSD_OPERATION* | in | 状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pAny | WSDXML_ELEMENT* | inoptional | 要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。 |
| pAsyncState | IUnknown* | inoptional | コールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。 |
| pAsyncCallback | IWSDAsyncCallback* | inoptional | メッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。 |
| ppResult | IWSDAsyncResult** | out | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
現在の状態を取得する非同期操作を完了します。
| pOperations | WSD_OPERATION* | in | 状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。 |
| dwOperationCount | DWORD | in | pOperations の配列に含まれる要素数。 |
| pResult | IWSDAsyncResult* | in | 完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。 |
| ppExpires | WSD_EVENTING_EXPIRES** | outoptional | サブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。 |
| ppAny | WSDXML_ELEMENT** | outoptional | リモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは getstatus 要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWSDServiceProxyEventing "{F9279D6D-1012-4A94-B8CC-FD35D2202BFE}" #usecom global IWSDServiceProxyEventing IID_IWSDServiceProxyEventing "{}" #comfunc global IWSDServiceProxyEventing_SubscribeToMultipleOperations 11 var,int,sptr,var,var,var,var #comfunc global IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations 12 var,int,sptr,var,var,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndSubscribeToMultipleOperations 13 var,int,sptr,var,var #comfunc global IWSDServiceProxyEventing_UnsubscribeToMultipleOperations 14 var,int,var #comfunc global IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations 15 var,int,var,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations 16 var,int,sptr #comfunc global IWSDServiceProxyEventing_RenewMultipleOperations 17 var,int,var,var,var,var #comfunc global IWSDServiceProxyEventing_BeginRenewMultipleOperations 18 var,int,var,var,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndRenewMultipleOperations 19 var,int,sptr,var,var #comfunc global IWSDServiceProxyEventing_GetStatusForMultipleOperations 20 var,int,var,var,var #comfunc global IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations 21 var,int,var,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndGetStatusForMultipleOperations 22 var,int,sptr,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWSDServiceProxyEventing "{F9279D6D-1012-4A94-B8CC-FD35D2202BFE}" #usecom global IWSDServiceProxyEventing IID_IWSDServiceProxyEventing "{}" #comfunc global IWSDServiceProxyEventing_SubscribeToMultipleOperations 11 sptr,int,sptr,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations 12 sptr,int,sptr,sptr,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndSubscribeToMultipleOperations 13 sptr,int,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_UnsubscribeToMultipleOperations 14 sptr,int,sptr #comfunc global IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations 15 sptr,int,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations 16 sptr,int,sptr #comfunc global IWSDServiceProxyEventing_RenewMultipleOperations 17 sptr,int,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_BeginRenewMultipleOperations 18 sptr,int,sptr,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndRenewMultipleOperations 19 sptr,int,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_GetStatusForMultipleOperations 20 sptr,int,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations 21 sptr,int,sptr,sptr,sptr,sptr #comfunc global IWSDServiceProxyEventing_EndGetStatusForMultipleOperations 22 sptr,int,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。