Original Post
SlimDX is great but there are some parts of the library that are not complete. In particular there seems to be a problem with pointer handling and pointer type conversion. The particular SlimDX code in question is in the GetBuffer method of the SwapChain (D3D10): generic< class T > where T : ComObject, ref class T SwapChain::GetBuffer( int index ) { IUnknown* unknown = 0; GUID guid = Utilities::GetNativeGuidForType( T::typeid ); RECORD_DXGI( InternalPointer->GetBuffer( index, guid, reinterpret_cast( &unknown ) ) ); if( Result::Last.IsFailure ) return T(); BindingFlags flags = BindingFlags::Static | BindingFlags::InvokeMethod | BindingFlags::NonPublic; array