Win32 API 日本語リファレンス
ホームDevices.WebServicesOnDevices › IWSDServiceProxyEventing

IWSDServiceProxyEventing

COM
IIDf9279d6d-1012-4a94-b8cc-fd35d2202bfe継承元IWSDServiceProxy自前メソッド開始 vtbl11

公式ドキュメント

クライアントアプリケーションおよびミドルウェア向けに、リモートの WSD サービスを表します。このインターフェイスにより、複数の非同期操作を実装できます。

メソッド 12

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 11 HRESULT SubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IUnknown* pUnknown, WSD_EVENTING_EXPIRES* pExpires, WSDXML_ELEMENT* pAny, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

通知イベントまたは solicit/response イベントの集合に対してサブスクライブします。

pOperationsWSD_OPERATION*inサブスクライブする操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pUnknownIUnknown*inoptionalクライアントのイベントコールバック関数に渡される匿名データ。このデータは、クライアントオブジェクトをサブスクリプションに関連付けるために使用されます。
pExpiresWSD_EVENTING_EXPIRES*inoptionalサブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
ppExpiresWSD_EVENTING_EXPIRES**outoptionalサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

戻り値には、以下のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
プロキシは pOperation で指定された操作に既にサブスクライブしています。
E_OUTOFMEMORY
操作を完了するためのメモリが不足しています。
E_FAIL
メソッドが失敗しました。

解説(Remarks)

このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。

このメソッドは同期的であり、要求が完了するか、有効期限の条件が満たされた時点で戻ります。

vtbl 12 HRESULT BeginSubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IUnknown* pUnknown, WSD_EVENTING_EXPIRES* pExpires, WSDXML_ELEMENT* pAny, IUnknown* pAsyncState, IWSDAsyncCallback* pAsyncCallback, IWSDAsyncResult** ppResult)

通知イベントまたは solicit/response イベントの集合にサブスクライブする非同期操作を開始します。

pOperationsWSD_OPERATION*inサブスクライブする操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pUnknownIUnknown*inoptionalクライアントのイベントコールバック関数に渡される匿名データ。このデータは、クライアントオブジェクトをサブスクリプションに関連付けるために使用されます。
pExpiresWSD_EVENTING_EXPIRES*inoptionalサブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
pAsyncStateIUnknown*inoptionalコールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。
pAsyncCallbackIWSDAsyncCallback*inoptionalメッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。
ppResultIWSDAsyncResult**out完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。

このメソッドは非同期であり、直ちに戻ります。呼び出し元は、その後 EndSubscribeToMultipleOperations を呼び出す必要があります。

vtbl 13 HRESULT EndSubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IWSDAsyncResult* pResult, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

通知イベントまたは solicit/response イベントの集合にサブスクライブする非同期操作を完了します。

pOperationsWSD_OPERATION*inサブスクライブ済みの操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pResultIWSDAsyncResult*in完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。
ppExpiresWSD_EVENTING_EXPIRES**outoptionalサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。

このメソッドは、先行する非同期の BeginSubscribeToMultipleOperations 呼び出しの結果を取得するために使用します。

vtbl 14 HRESULT UnsubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSDXML_ELEMENT* pAny)

通知イベントまたは solicit/response イベントに対するサブスクリプションの集合を取り消します。

pOperationsWSD_OPERATION*inサブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pAnyWSDXML_ELEMENT*in要求の本文に追加する拡張データへのポインター。

戻り値

戻り値には、以下のものが含まれます (ただしこれらに限定されません)。

戻り値 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
プロキシは pOperation で指定された通知にサブスクライブしていません。
E_POINTER
pOperation が NULL です。

解説(Remarks)

このメソッドは、生成されたプロキシコードからのみ呼び出されることを想定しています。

vtbl 15 HRESULT BeginUnsubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSDXML_ELEMENT* pAny, IUnknown* pAsyncState, IWSDAsyncCallback* pAsyncCallback, IWSDAsyncResult** ppResult)

通知イベントまたは solicit/response イベントの集合に対するサブスクリプションを取り消す非同期要求を開始します。

pOperationsWSD_OPERATION*inサブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
pAsyncStateIUnknown*inoptionalコールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。
pAsyncCallbackIWSDAsyncCallback*inoptionalメッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。
ppResultIWSDAsyncResult**out完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 16 HRESULT EndUnsubscribeToMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IWSDAsyncResult* pResult)

通知イベントまたは solicit/response イベントの集合に対するサブスクリプションを取り消す非同期要求を完了します。

pOperationsWSD_OPERATION*inサブスクリプションを解除する操作を指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pResultIWSDAsyncResult*in完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 17 HRESULT RenewMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSD_EVENTING_EXPIRES* pExpires, WSDXML_ELEMENT* pAny, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

新しい期間を指定して、既存の通知サブスクリプションの集合を更新 (更新延長) します。

pOperationsWSD_OPERATION*in更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pExpiresWSD_EVENTING_EXPIRES*inoptionalサブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
ppExpiresWSD_EVENTING_EXPIRES**outoptional更新されたサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは更新要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 18 HRESULT BeginRenewMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSD_EVENTING_EXPIRES* pExpires, WSDXML_ELEMENT* pAny, IUnknown* pAsyncState, IWSDAsyncCallback* pAsyncCallback, IWSDAsyncResult** ppResult)

新しい期間を指定して既存の通知サブスクリプションの集合を更新する非同期操作を開始します。

pOperationsWSD_OPERATION*in更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pExpiresWSD_EVENTING_EXPIRES*inoptionalサブスクリプションの要求期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインター。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
pAsyncStateIUnknown*inoptionalコールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。
pAsyncCallbackIWSDAsyncCallback*inoptionalメッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。
ppResultIWSDAsyncResult**out完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 19 HRESULT EndRenewMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IWSDAsyncResult* pResult, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

新しい期間を指定して既存の通知サブスクリプションの集合を更新する非同期操作を完了します。

pOperationsWSD_OPERATION*in更新する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pResultIWSDAsyncResult*in完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。
ppExpiresWSD_EVENTING_EXPIRES**outoptional更新されたサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスはイベントサブスクリプションを追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 20 HRESULT GetStatusForMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSDXML_ELEMENT* pAny, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

現在の状態を取得します。

pOperationsWSD_OPERATION*in状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
ppExpiresWSD_EVENTING_EXPIRES**outoptionalサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは getstatus 要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 21 HRESULT BeginGetStatusForMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, WSDXML_ELEMENT* pAny, IUnknown* pAsyncState, IWSDAsyncCallback* pAsyncCallback, IWSDAsyncResult** ppResult)

現在の状態を取得する非同期操作を開始します。

pOperationsWSD_OPERATION*in状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pAnyWSDXML_ELEMENT*inoptional要求の本文に追加する拡張データへのポインター。このパラメーターは省略可能です。
pAsyncStateIUnknown*inoptionalコールバックが呼び出される際に pAsyncCallback へ渡される匿名データ。このデータは、クライアントオブジェクトを保留中の操作に関連付けるために使用されます。このパラメーターは省略可能です。
pAsyncCallbackIWSDAsyncCallback*inoptionalメッセージのコールバック状態通知を行う IWSDAsyncCallback オブジェクトへの参照。このパラメーターは省略可能です。
ppResultIWSDAsyncResult**out完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインターを指すポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 22 HRESULT EndGetStatusForMultipleOperations(WSD_OPERATION* pOperations, DWORD dwOperationCount, IWSDAsyncResult* pResult, WSD_EVENTING_EXPIRES** ppExpires, WSDXML_ELEMENT** ppAny)

現在の状態を取得する非同期操作を完了します。

pOperationsWSD_OPERATION*in状態を取得する操作サブスクリプションを指定する WSD_OPERATION 構造体への参照の配列を指すポインター。
dwOperationCountDWORDinpOperations の配列に含まれる要素数。
pResultIWSDAsyncResult*in完了時に要求の結果を表す IWSDAsyncResult インターフェイスへのポインター。
ppExpiresWSD_EVENTING_EXPIRES**outoptionalサブスクリプションの期間を指定する WSD_EVENTING_EXPIRES 構造体へのポインターを指すポインター。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。このパラメーターは省略可能です。
ppAnyWSDXML_ELEMENT**outoptionalリモートデバイスがサブスクリプション応答に追加できる拡張データ。これにより、サービスは getstatus 要求を追加でカスタマイズできます。使用後は WSDFreeLinkedMemory を呼び出してメモリを解放してください。詳細については、WSDXML_ELEMENT を参照してください。このパラメーターは省略可能です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。