public byte[] GetSignature() { byte[] Data; m_unmanagedVariable.GetSignature(0, out var cData, null); Data = new byte[cData]; m_unmanagedVariable.GetSignature(cData, out cData, Data); return(Data); }
/// <summary> /// Gets the variable signature /// </summary> /// <returns>The signature blob</returns> public byte[] GetSignature() { int sgLen; private_variable.GetSignature(0, out sgLen, null); byte[] retVal = new byte[sgLen]; private_variable.GetSignature(sgLen, out sgLen, retVal); return(retVal); }
public byte[] GetSignature() { uint bufSize; variable.GetSignature(0, out bufSize, null); var buffer = new byte[bufSize]; variable.GetSignature((uint)buffer.Length, out bufSize, buffer); return(buffer); }
internal static byte[] ToLocalSignature(this ISymUnmanagedVariable variable) { int n; variable.GetSignature(0, out n, null); var bytes = new byte[n]; variable.GetSignature(n, out n, bytes); return(bytes); }
public byte[] GetSignature() { int size; HRESULT.ThrowOnFailure(_unmanaged.GetSignature(0, out size, null)); byte[] data = new byte[size]; HRESULT.ThrowOnFailure(_unmanaged.GetSignature(data.Length, out size, data)); return(data); }
public byte[] GetSignature() { byte[] data; int cData; unmanagedVariable.GetSignature(0, out cData, null); data = new byte[cData]; unmanagedVariable.GetSignature(cData, out cData, data); return(data); }
public static unsafe byte[] GetSignature(this ISymUnmanagedVariable symVar) { byte[] sig = new byte[defaultSigSize]; uint acualSize; fixed(byte *pSig = sig) symVar.GetSignature((uint)sig.Length, out acualSize, new IntPtr(pSig)); Array.Resize(ref sig, (int)acualSize); if (acualSize > defaultSigSize) fixed(byte *pSig = sig) symVar.GetSignature((uint)sig.Length, out acualSize, new IntPtr(pSig)); return(sig); }
public static void ValidateVariable(ISymUnmanagedVariable variable, string name, int slot, LocalVariableAttributes attributes, byte[] signature) { int length, length2; // name: Assert.Equal(HResult.S_OK, variable.GetName(0, out length, null)); Assert.Equal(name.Length + 1, length); var actualName = new char[length]; Assert.Equal(HResult.S_OK, variable.GetName(length, out length2, actualName)); Assert.Equal(length, length2); Assert.Equal(name + "\0", new string(actualName)); int value; Assert.Equal(HResult.S_OK, variable.GetAddressField1(out value)); Assert.Equal(slot, value); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField2(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField3(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetStartOffset(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetEndOffset(out value)); Assert.Equal(HResult.S_OK, variable.GetAttributes(out value)); Assert.Equal(attributes, (LocalVariableAttributes)value); Assert.Equal(HResult.S_OK, variable.GetAddressKind(out value)); Assert.Equal(1, value); Assert.Equal(HResult.S_OK, variable.GetSignature(0, out length, null)); var actualSignature = new byte[length]; Assert.Equal(HResult.S_OK, variable.GetSignature(length, out length2, actualSignature)); Assert.Equal(length, length2); AssertEx.Equal(signature, actualSignature); }
public static void ValidateVariable(ISymUnmanagedVariable variable, string name, int slot, LocalVariableAttributes attributes, byte[] signature) { int length, length2; // name: Assert.Equal(HResult.S_OK, variable.GetName(0, out length, null)); Assert.Equal(name.Length + 1, length); var actualName = new char[length]; Assert.Equal(HResult.S_OK, variable.GetName(length, out length2, actualName)); Assert.Equal(length, length2); Assert.Equal(name + "\0", new string(actualName)); int value; Assert.Equal(HResult.S_OK, variable.GetAddressField1(out value)); Assert.Equal(slot, value); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField2(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField3(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetStartOffset(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetEndOffset(out value)); Assert.Equal(HResult.S_OK, variable.GetAttributes(out value)); Assert.Equal(attributes, (LocalVariableAttributes)value); Assert.Equal(HResult.S_OK, variable.GetAddressKind(out value)); Assert.Equal(1, value); Assert.Equal(HResult.S_OK, variable.GetSignature(0, out length, null)); var actualSignature = new byte[length]; Assert.Equal(HResult.S_OK, variable.GetSignature(length, out length2, actualSignature)); Assert.Equal(length, length2); AssertEx.Equal(signature, actualSignature); }