プロが教える店舗&オフィスのセキュリティ対策術

画面のない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
とでましたが、ネットでも情報が見つけられませんでした。

解決策をご存知の方、よろしくお願いします。

A 回答 (1件)

インスタンスの生成は成功しているんですね。


そのクラスのOpen関数の仕様を見るしかないと思いますが。

Open()の前に何かをコールしておく必要があるのか、引数を間違っているのか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!