Click here to Skip to main content
15,896,557 members
Articles / Desktop Programming / Windows Forms

BSEtunes

Rate me:
Please Sign up or sign in to vote.
4.67/5 (11 votes)
24 Apr 2010CPOL4 min read 64.8K   4.3K   58  
BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application
//Widows Media Format Interfaces
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//  PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 
//  REMAINS UNCHANGED.
//
//  Email:  yetiicb@hotmail.com
//
//  Copyright (C) 2002-2004 Idael Cardoso. 
//

using System;
using System.Runtime.InteropServices;

namespace BSE.Platten.Audio.WMFSDK
{
  
  [ComImport]
  [Guid("E1CD3524-03D7-11d2-9EED-006097D2D7CF")]
  [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  public interface INSSBuffer
  {
    
    void GetLength( [Out] out uint pdwLength );
    
    void SetLength( [In] uint dwLength );
    
    void GetMaxLength( [Out] out uint pdwLength );
    
    void GetBuffer( [Out] out IntPtr ppdwBuffer );
    
    void GetBufferAndLength( [Out] out IntPtr ppdwBuffer, [Out] out uint pdwLength );
  }

  
  [ComImport]
  [Guid("4F528693-1035-43fe-B428-757561AD3A68")]
  [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  public interface INSSBuffer2 : INSSBuffer
  {
    //INSSBuffer
    new void GetLength( [Out] out uint pdwLength );
    new void SetLength( [In] uint dwLength );
    new void GetMaxLength( [Out] out uint pdwLength );
    new void GetBuffer( [Out] out IntPtr ppdwBuffer );
    new void GetBufferAndLength( [Out] out IntPtr ppdwBuffer, [Out] out uint pdwLength );
    //INSSBuffer2
    void GetSampleProperties( [In] uint cbProperties, [Out] out byte pbProperties );
    
    void SetSampleProperties( [In] uint cbProperties, [In] ref byte pbProperties );
  };

  
  [ComImport]
  [Guid("C87CEAAF-75BE-4bc4-84EB-AC2798507672")]
  [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  public interface INSSBuffer3 : INSSBuffer2
  {
    //INSSBuffer
    new void GetLength( [Out] out uint pdwLength );
    new void SetLength( [In] uint dwLength );
    new void GetMaxLength( [Out] out uint pdwLength );
    new void GetBuffer( [Out] out IntPtr ppdwBuffer );
    new void GetBufferAndLength( [Out] out IntPtr ppdwBuffer, [Out] out uint pdwLength );
    //INSSBuffer2
    new void GetSampleProperties( [In] uint cbProperties, [Out] out byte pbProperties );
    new void SetSampleProperties( [In] uint cbProperties, [In] ref byte pbProperties );
    //INSSBuffer3
    void SetProperty([In] Guid guidBufferProperty, 
                     [In] IntPtr pvBufferProperty,
                     [In] uint dwBufferPropertySize );
    
    void GetProperty([In] Guid guidBufferProperty,
                     /*out]*/ IntPtr pvBufferProperty,
                     [In,Out] ref uint pdwBufferPropertySize );
  }

  
  [ComImport]
  [Guid("B6B8FD5A-32E2-49d4-A910-C26CC85465ED")]
  [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  public interface INSSBuffer4 : INSSBuffer3
  {
    //INSSBuffer
    new void GetLength( [Out] out uint pdwLength );
    new void SetLength( [In] uint dwLength );
    new void GetMaxLength( [Out] out uint pdwLength );
    new void GetBuffer( [Out] out IntPtr ppdwBuffer );
    new void GetBufferAndLength( [Out] out IntPtr ppdwBuffer, [Out] out uint pdwLength );
    //INSSBuffer2
    new void GetSampleProperties( [In] uint cbProperties, [Out] out byte pbProperties );
    new void SetSampleProperties( [In] uint cbProperties, [In] ref byte pbProperties );
    //INSSBuffer3
    new void SetProperty([In] Guid guidBufferProperty, 
      [In] IntPtr pvBufferProperty,
      [In] uint dwBufferPropertySize );
    new void GetProperty([In] Guid guidBufferProperty,
      /*out]*/ IntPtr pvBufferProperty,
      [In,Out] ref uint pdwBufferPropertySize );
    //INSSBuffer4
    void GetPropertyCount([Out] out uint pcBufferProperties );
    
    void GetPropertyByIndex([In] uint dwBufferPropertyIndex,
                            [Out] out Guid pguidBufferProperty,
                            /*[out]*/   IntPtr pvBufferProperty,
                            [In,Out] ref uint pdwBufferPropertySize );
  }

  
  [ComImport]
  [Guid("61103CA4-2033-11d2-9EF1-006097D2D7CF")]
  [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  public interface IWMSBufferAllocator 
  {
    
    void AllocateBuffer( [In] uint dwMaxBufferSize,
                         [Out, MarshalAs(UnmanagedType.Interface)] out INSSBuffer ppBuffer);
    
    void AllocatePageSizeBuffer([In] uint dwMaxBufferSize,
                                [Out, MarshalAs(UnmanagedType.Interface)] out INSSBuffer ppBuffer);
  };

}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions