を介してMSSQLServerでクエリを実行するOLEDBコードに取り組んでいますICommand::Execute
。DBPROPVAL_ASYNCH_INITIALIZE
実行する前にコマンドのプロパティを設定することで、このコードを非同期で動作するように変換しています。
IDBAsynchNotify
を介してポーリングまたはブロックするのではなく、コードにイベントを通知できるように、シンクを登録したいと思いISSAsynchStatus
ます。
のドキュメントは受け入れ可能なパラメータとしてICommand::Execute
示されていませんが、同じドキュメントでリターンコードについて説明している場合、イベントシンクの登録に使用できるインターフェイスを要求できることが示されています。IConnectionPointContainer
riid
DB_S_ASYNCHRONOUS
IConnectionPointContainer
パラメータとしてICommand::Execute
渡してを呼び出すと、エラーが発生します。以前にもプロパティを設定してみましたが、同じ結果になりました。IID_IConnectionPointContainer
riid
E_NOINTERFACE
DBPROP_IConnectionPointContainer
Execute
必要に応じて、を使用しますがISSAsynchStatus
、むしろ使用したいと思いますIDBAsynchNotify
。出来ますか?