8

アプリケーションでUnimotionを使用して Apple ラップトップのモーション センサー値を読み取っていますが、コードを 10.6 64 ビットに移植できませんでした。( SMSLibも試しましたが、うまくいきませんでした。)

  • シンプルな 10.6 互換の SMS API はありますか?

代替手段がない場合は、ライブラリの 1 つにパッチを適用することも検討しています。Unimotion と SMSLib の両方が次の呼び出しを使用します。これは 10.5 で廃止され、10.6 64 ビットから削除されました

result = IOConnectMethodStructureIStructureO(
    dataPort, kernFunc, structureInputSize,
    &structureOutputSize, &inputStructure, 
    outputStructure);
  • これを新しい IOKit 呼び出しに置き換える簡単な方法はありますか?

この投稿は、実際にはあまり役に立ちませんでした)

4

2 に答える 2

6

代替手段がない場合は、ライブラリの 1 つにパッチを適用することも検討しています。Unimotion と SMSLib の両方が次の呼び出しを使用します。これは 10.5 で廃止され、10.6 64 ビットから削除されました

result = IOConnectMethodStructureIStructureO(
    dataPort, kernFunc, structureInputSize,
    &structureOutputSize, &inputStructure, 
    outputStructure);

これを新しい IOKit 呼び出しに置き換える簡単な方法はありますか?

まさにその文書が代替品を提案しています。これはどうですか?

kern_return_t
IOConnectCallStructMethod(
    mach_port_t  connection,        // In
    uint32_t     selector,      // In
    const void  *inputStruct,       // In
    size_t       inputStructCnt,    // In
    void        *outputStruct,      // Out
    size_t      *outputStructCnt)   // In/Out

私が知る限り、引数の順序を除いて違いはないはずです。とはいえ、私は I/O Kit を使用したことがないため、この呼び出しが古いものと同じように機能しない原因となる重要な概念上の違いが欠けている可能性があります。

于 2010-02-01T05:08:58.903 に答える
1

これは 10.6 では使用していませんが、機能しますか?

http://code.google.com/p/google-mac-qtz-patches/

于 2010-02-01T03:03:56.983 に答える