私はトランザクションNTFSを使ってファイルシステムのファイルを読み書きしていますが、アプリケーションの再起動のみで解決される断続的なフォルトが発生していることに気付きました。エラーの スタックトレースは次のとおりです。TxNTFSを使った奇妙な断続的なエラー
System.Runtime.InteropServices.COMException (0xD0190052): Exception from HRESULT: 0xD0190052
at ...KtmTransactionHandle.IKernelTransaction.GetHandle(IntPtr& handle)
at ...KtmTransactionHandle.CreateKtmTransactionHandle(Transaction managedTransaction)
at ...KtmTransactionHandle.CreateKtmTransactionHandle()
at ...TransactedFile.Open(String path, FileMode mode, FileAccess access, FileShare share)
at ...TransactedFile.ReadAllText(String path)
IKernelTransactionは、私がハンドルを取得するCOMインターフェースである:ここ
IKernelTransaction tx = (IKernelTransaction)TransactionInterop.GetDtcTransaction(Transaction.Current);
私のコードはhttp://msdn.microsoft.com/en-us/library/cc303707.aspxに非常に似て
[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("79427A2B-F895-40e0-BE79-B57DC82ED231")]
private interface IKernelTransaction
{
void GetHandle([Out] out IntPtr handle);
}
問題は私には何の情報も見つけられないということですこのCOMエラー0xD0190052のアトリビュート。このエラーコードが何であるかを知るだけで大いに役立ちます。
おかげ
そのHRESULTコードでFormatMessage(P/Invokeまたはネイティブ)を試しましたか? – Yahia
残念ながら、このコードは野生のもので、テストマシンでは見たことがありません。 0xD0190052はintをオーバーフローさせて、-1173667886をMarshal.ThrowExceptionForHRに渡し、新しいWin32Exceptionを渡しました。どちらの場合も、結果はUnknown Errorでした。 – Phill
[AlphaFS](http://alphafs.codeplex.com/)オプションを使用していますか? – shambulator