私は、USB経由で接続されたプリンタでテキストを送信するプリンタ用のAPIライブラリを持つシンプルなデスクトップアプリケーションを用意しています。デスクトップアプリケーションは正常に動作します。シリアルポートはWCF経由でアクセス可能です
目的は、テキストを印刷するWCFサービス(Windowsサービスでホストされる)を作成することです。 WCFサービスのデバッグログから、データがプリンタに正しく送信されたが、プリンタレポートが失敗したことがわかりました。コードとデータはデスクトップ/ WCFサービスで全く同じです。残念ながら、APIライブラリ関数の結果は「失敗」であり、例外/追加情報はありません。 WCFサービスのアプリケーションタイプは、デフォルトではシリアルポートにアクセスできません。 WCFサービスの特別な設定が必要ですか?
のWindows 10
の.NET Framework 4
のVisual Studio 10
プリンタ:SANE SK1-21(API UpdSdk.dll)
WCFサービスは、Windowsサービス
でホストされています更新 新しいミニマリストウィンドウserを作成しようとしました最低限のコードで - 印刷が失敗しました。私は新しいWindowsフォームアプリケーションとコンソールアプリケーションも作成していましたが、コードは同じで、印刷もうまくいきます。
あなたのwinformsアプリケーションが実行されたのと同じユーザーとしてWindowsサービスが実行されていますか? –
私は管理者とcmdから "net start ...."でサービスを開始しました。 Winformアプリケーションは通常のユーザー権限で正常に起動します。 – Majkl
'services.msc'を使用して、サービスが実行されているユーザーを特定します。それが 'SYSTEM'の場合、そのユーザはデバイスドライバにアクセスすることができないかもしれません。通常のユーザーに変更してみてください。 –