• 締切済み

VC++からのocxの使用方法

画面のないVC++(.NETではない)でocxを使用したいのですが、うまくいきません。 以下のようなソースを作成したのですが、デバイスのオープンで例外が発生します。 #import "C:\\xxx\\OposXXXXX.ocx" no_namespace named_guids rename("Release","ReleaseOposPenScanner") int main(int argc, char* argv[]) { HRESULT hResult; _DOposXXXXCO* device; _bstr_t deviceName("XXX"); ::CoInitialize(NULL); hResult = ::CoCreateInstance((REFCLSID)CLSID_OposXXXCO, 0, CLSCTX_INPROC_SERVER, (REFIID)DIID__DOposXXXXCO, (LPVOID*)&device; try{ device->Open(deviceName); }catch(_com_error &e){ return 0; } … Open()時に例外が発生します。 デバッグ出力したところ、 e.ErrorMessage() = 00169E68 e.Error() = -2147418113 e.ErrorInfo() = 00000000 とでましたが、ネットでも情報が見つけられませんでした。 解決策をご存知の方、よろしくお願いします。

みんなの回答

  • gentoo314
  • ベストアンサー率41% (15/36)
回答No.1

インスタンスの生成は成功しているんですね。 そのクラスのOpen関数の仕様を見るしかないと思いますが。 Open()の前に何かをコールしておく必要があるのか、引数を間違っているのか。

関連するQ&A