public static TmHandle Create( TmAccess access, string name, ObjectFlags objectFlags, DirectoryHandle rootDirectory, string logFileName, TmOptions createOptions ) { ObjectAttributes oa = new ObjectAttributes(name, objectFlags, rootDirectory); UnicodeString logFileNameStr = new UnicodeString(logFileName); IntPtr handle; try { Win32.NtCreateTransactionManager( out handle, access, ref oa, ref logFileNameStr, createOptions, 0 ).ThrowIf(); } finally { logFileNameStr.Dispose(); oa.Dispose(); } return(new TmHandle(handle, true)); }
public static TmHandle Create( TmAccess access, string name, ObjectFlags objectFlags, DirectoryHandle rootDirectory, string logFileName, TmOptions createOptions ) { NtStatus status; ObjectAttributes oa = new ObjectAttributes(name, objectFlags, rootDirectory); IntPtr handle; try { UnicodeString logFileNameStr = new UnicodeString(logFileName); try { if ((status = Win32.NtCreateTransactionManager( out handle, access, ref oa, ref logFileNameStr, createOptions, 0 )) >= NtStatus.Error) { Win32.ThrowLastError(status); } } finally { logFileNameStr.Dispose(); } } finally { oa.Dispose(); } return(new TmHandle(handle, true)); }