MacRuby Pointer to typedef structで、で作成されたポインタを逆参照する方法を学びました
x=Pointer.new_with_type
...
==> use x.value, or x[0]
御馳走になります!
今、私は「反対」であると信じていることを学びたいと思っています. この API を使用しようとしています。
OSStatus SecKeychainCopySettings (
SecKeychainRef keychain,
SecKeychainSettings *outSettings
);
2 番目のパラメーターはポインターでなければなりません。しかし、キーチェーンの実際の outSettings を開くことができず、デフォルト設定しか取得できません。
framework 'Security'
keychainObject = Pointer.new_with_type('^{OpaqueSecKeychainRef}')
SecKeychainOpen("/Users/charbon/Library/Keychains/Josja.keychain",keychainObject)
#attempt #1
settings=Pointer.new_with_type('{SecKeychainSettings=IBBI}')
SecKeychainCopySettings(keychainObject.value, settings)
p settings.value
#<SecKeychainSettings version=0 lockOnSleep=false useLockInterval=false lockInterval=0>
#attempt #2
settings2=SecKeychainSettings.new
result = SecKeychainCopySettings(keychainObject.value, settings2)
p settings2
#<SecKeychainSettings version=0 lockOnSleep=false useLockInterval=false lockInterval=0>
開いたキーチェーンの設定は次のようになります。
#<SecKeychainSettings version=0 lockOnSleep=true useLockInterval=true lockInterval=1800>
何が欠けていますか?