none
Windows Server 2012 R2上のサービスからPTOpenProviderが失敗する現象について RRS feed

  • 質問

  • お世話になっております。

    Windows Server 2012 R2上のサービスからPTOpenProvider APIを呼び出すと失敗する現象が

    起きています。

    MSDNの説明においても、DeskTop Onlyとなっていましたので、使用できないのではと思いましたが、

    Windows7上では、サービスから呼び出しても成功します。

    本現象について、回避策等ご存じの方がいらっしゃいましたら、ご教示願います。

    2015年7月31日 6:36

すべての返信

  • 「desktop apps only」とはストアアプリを含まない意であり、Windows Server 2012 R2もサポート対象です。

    ちなみに、サービスは32bit / 64bitどちらでしょうか? また成功したWindows 7のOS自体は64bitでしょうか?
    # WOW64が絡むと調子悪かったりする場合があります。

    2015年7月31日 7:34
  • ご意見ありがとうございます。返信が遅くなり申し訳ありません。

    作成しているアプリケーション32bitで、Wow64で動作させています。サービスとして動作が成功しているOSはWindows7の32bitになります。

    すべてのOSで検証できていませんが、Windows Server 2012 R2でもサービス(セッション0)ではなく、ユーザーセッション(セッション1以上)で動作させる分には関数が成功することを確認しています。

    そのため、32bitのサービスを64bit(Wow64)で動作させることが問題なのか、そもそもPTOpenProviderがサービスとして動作できないのか判断できかねています。

    本関数を発行するプロセスのみ、ユーザーセッションで起動するなどの対処が必要でしょうか(あまりこのような対処はしたくないのですが)。

    2015年8月3日 7:46