コード例 #1
0
ファイル: EnumColumnTests.cs プロジェクト: stgwilli/ravendb
        public void TestSingleValueConversion()
        {
            var native = new NATIVE_ENUMCOLUMN
            {
                columnid = 1,
                err      = (int)JET_wrn.ColumnSingleValue,
                cbData   = 3,
                pvData   = new IntPtr(4),
            };

            var managed = new JET_ENUMCOLUMN();

            managed.SetFromNativeEnumColumn(native);

            Assert.AreEqual <uint>(1, managed.columnid.Value);
            Assert.AreEqual(JET_wrn.ColumnSingleValue, managed.err);
            Assert.AreEqual(3, managed.cbData);
            Assert.AreEqual(new IntPtr(4), managed.pvData);
        }
コード例 #2
0
ファイル: EnumColumnTests.cs プロジェクト: stgwilli/ravendb
        public void TestMultiValueConversion()
        {
            var managed = new JET_ENUMCOLUMN();

            unsafe
            {
                var columnvalues = stackalloc NATIVE_ENUMCOLUMNVALUE[2];
                var native       = new NATIVE_ENUMCOLUMN
                {
                    columnid          = 1,
                    err               = (int)JET_wrn.Success,
                    cEnumColumnValue  = 3,
                    rgEnumColumnValue = columnvalues,
                };

                managed.SetFromNativeEnumColumn(native);
            }

            Assert.AreEqual <uint>(1, managed.columnid.Value);
            Assert.AreEqual(JET_wrn.Success, managed.err);
            Assert.AreEqual(3, managed.cEnumColumnValue);
            Assert.AreEqual(null, managed.rgEnumColumnValue);
        }
コード例 #3
0
 public static unsafe extern int JetEnumerateColumns(
     IntPtr sesid,
     IntPtr tableid,
     uint cEnumColumnId,
     NATIVE_ENUMCOLUMNID* rgEnumColumnId,
     out uint pcEnumColumn,
     out NATIVE_ENUMCOLUMN* prgEnumColumn,
     JET_PFNREALLOC pfnRealloc,
     IntPtr pvReallocContext,
     uint cbDataMost,
     uint grbit);