Example #1
0
		void MMC.IDataObject.GetData( ref FORMATETC pformatetcIn, ref STGMEDIUM pmedium) 
		{
			if ( pformatetcIn.cfFormat == this.m_CCFShellIDListArry ) 
			{

				byte[] b = null;

				if ( m_cookie > 0 ) 
				{

					b = new byte[ this.m_data.Length + 18 ];

					BitConverter.GetBytes(1).CopyTo(b, 0);
					BitConverter.GetBytes(12).CopyTo(b, 4);
					BitConverter.GetBytes(12 + m_data.Length).CopyTo(b, 8);

					m_data.CopyTo( b, 12 );

					BitConverter.GetBytes((short) 4).CopyTo(b, 12 + m_data.Length);
					BitConverter.GetBytes((short) 255).CopyTo(b, 14 + m_data.Length);
					BitConverter.GetBytes((short) 0).CopyTo(b, 16 + m_data.Length);

				}
				else
				{
					b = new byte[ this.m_data.Length + 8 ];

					BitConverter.GetBytes(0).CopyTo(b, 0);
					BitConverter.GetBytes(8).CopyTo(b, 4);

					this.m_data.CopyTo( b, 8 );

				}

				pmedium.tymed = 1;
				pmedium.pUnkForRelease = IntPtr.Zero;

				pmedium.hGlobal = Marshal.AllocHGlobal( b.Length );
				Marshal.Copy(b, 0, pmedium.hGlobal, b.Length);

			}
		}
Example #2
0
		long MMC.IDataObject.DAdvise( ref FORMATETC pformatetc, uint advf, IntPtr pAdvSink, out uint pdwConnection)
		{
			pdwConnection = 0;

			return 0x80004001L;
		}
Example #3
0
		long MMC.IDataObject.SetData( ref FORMATETC pformatetc, ref STGMEDIUM pmedium, bool fRelease)
		{
			return 0x80004001L;
		}
Example #4
0
		long MMC.IDataObject.GetCanonicalFormatEtc( ref FORMATETC pformatectIn, ref FORMATETC pformatetcOut)
		{
			return 0x80004001L;
		}
Example #5
0
		long MMC.IDataObject.QueryGetData( ref FORMATETC pformatetc)
		{
			return 0x80004001L;
		}
Example #6
0
		void MMC.IDataObject.GetDataHere( ref FORMATETC pformatetc, ref STGMEDIUM pmedium) 
		{
		}