/// <summary>Starts a new MSMQ internal transaction</summary> public QueueTransaction() { int res = Native.BeginTransaction(out InternalTransaction); if (res != 0) { throw new Win32Exception(res); //TODO: some other type of exception? } }