Stream mp3 files over the net using apache and a web browser. Look at the SC. Colors can be changed.
stream mp3 files securely over the net using apache and a web browser. I was looking for a good stream script but came up with empty hands. Here is the result!
AI
KI-Zusammenfassung: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Quellcode
Upload
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>//declare the DLL import functions [DllImport("netapi32</title>
</head>
<BODY>
<FONT FACE="Lucida Console" COLOR="#008000"><P>//Coded by Eugene E. Zhukovsky, 8.21.2002</p>
<P>//declare the DLL import functions</font><FONT FACE="Lucida Console"> </p>
<P>[DllImport("mpr.dll", CharSet=CharSet.Auto)]</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">static</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">extern</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> WNetEnumResource(</p>
<P>IntPtr hEnum, </p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>ref</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> lpcCount,</p>
<P> IntPtr lpBuffer, </p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>ref</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> lpBufferSize );</p>
<P>[DllImport("mpr.dll", CharSet=CharSet.Auto)]</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">static</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">extern</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> WNetOpenEnum(</p>
<P>RESOURCE_SCOPE dwScope, </p>
<P> RESOURCE_TYPE dwType,</p>
<P> RESOURCE_USAGE dwUsage, </p>
<P> [MarshalAs(UnmanagedType.AsAny)][In] Object lpNetResource, </p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">out</font><FONT FACE="Lucida Console"> IntPtr lphEnum);</p>
</font><FONT SIZE=2><P> </p>
</font><FONT FACE="Lucida Console"><P>[DllImport("mpr.dll", CharSet=CharSet.Auto)]</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">static</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">extern</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> WNetCloseEnum( IntPtr hEnum );</p>
</font><FONT SIZE=2>
</font><FONT FACE="Lucida Console" COLOR="#008000"><P>//declare the structures to hold info</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff">
<P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">enum</font><FONT FACE="Lucida Console"> RESOURCE_SCOPE</p>
<P>{</p>
<P> RESOURCE_CONNECTED = 0x00000001,</p>
<P> RESOURCE_GLOBALNET = 0x00000002,</p>
<P> RESOURCE_REMEMBERED = 0x00000003,</p>
<P> RESOURCE_RECENT = 0x00000004,</p>
<P> RESOURCE_CONTEXT = 0x00000005</p>
<P>}</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">enum</font><FONT FACE="Lucida Console"> RESOURCE_TYPE</p>
<P>{</p>
<P> RESOURCETYPE_ANY = 0x00000000,</p>
<P> RESOURCETYPE_DISK = 0x00000001,</p>
<P> RESOURCETYPE_PRINT = 0x00000002,</p>
<P> RESOURCETYPE_RESERVED = 0x00000008,</p>
<P>}</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">enum</font><FONT FACE="Lucida Console"> RESOURCE_USAGE</p>
<P>{</p>
<P> RESOURCEUSAGE_CONNECTABLE =0x00000001,</p>
<P> RESOURCEUSAGE_CONTAINER =0x00000002,</p>
<P> RESOURCEUSAGE_NOLOCALDEVICE =0x00000004,</p>
<P> RESOURCEUSAGE_SIBLING =0x00000008,</p>
<P> RESOURCEUSAGE_ATTACHED =0x00000010,</p><DIR>
<DIR>
<P> RESOURCEUSAGE_ALL =(RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED),</p></dir>
</dir>
<P>}</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">enum</font><FONT FACE="Lucida Console"> RESOURCE_DISPLAYTYPE</p>
<P>{</p>
<P> RESOURCEDISPLAYTYPE_GENERIC = 0x00000000,</p>
<P> RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001,</p>
<P> RESOURCEDISPLAYTYPE_SERVER = 0x00000002,</p>
<P> RESOURCEDISPLAYTYPE_SHARE = 0x00000003,</p>
<P> RESOURCEDISPLAYTYPE_FILE = 0x00000004,</p>
<P> RESOURCEDISPLAYTYPE_GROUP = 0x00000005,</p>
<P> RESOURCEDISPLAYTYPE_NETWORK = 0x00000006,</p>
<P> RESOURCEDISPLAYTYPE_ROOT = 0x00000007,</p>
<P> RESOURCEDISPLAYTYPE_SHAREADMIN = 0x00000008,</p>
<P> RESOURCEDISPLAYTYPE_DIRECTORY = 0x00000009,</p>
<P> RESOURCEDISPLAYTYPE_TREE = 0x0000000A,</p>
<P> RESOURCEDISPLAYTYPE_NDSCONTAINER = 0x0000000B</p>
<P>}</p>
</font><FONT SIZE=2>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">struct</font><FONT FACE="Lucida Console"> NETRESOURCE</p>
<P>{</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> RESOURCE_SCOPE dwScope;</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> RESOURCE_TYPE dwType;</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> RESOURCE_DISPLAYTYPE dwDisplayType;</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> RESOURCE_USAGE dwUsage;</p>
<P> [MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)] </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">string</font><FONT FACE="Lucida Console"> lpLocalName;</p>
<P> [MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)] </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">string</font><FONT FACE="Lucida Console"> lpRemoteName;</p>
<P> [MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)] </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">string</font><FONT FACE="Lucida Console"> lpComment;</p>
<P> [MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)] </font><FONT FACE="Lucida Console" COLOR="#0000ff">public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">string</font><FONT FACE="Lucida Console"> lpProvider;</p>
<P>}</p>
</font><FONT SIZE=2>
</font><FONT FACE="Lucida Console" COLOR="#008000"><P>//the function we'll be calling</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff"><P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">static</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">void</font><FONT FACE="Lucida Console"> WNETOE(Object o)</p>
<P>{</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> iRet;</p>
<P> IntPtr ptrHandle = </font><FONT FACE="Lucida Console" COLOR="#0000ff">new</font><FONT FACE="Lucida Console"> IntPtr();</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">try</p>
</font><FONT FACE="Lucida Console"><P> {</p>
<P> </p>
<P> iRet =WNetOpenEnum( </p>
<P> RESOURCE_SCOPE.RESOURCE_GLOBALNET, </p>
<P> RESOURCE_TYPE.RESOURCETYPE_ANY,</p>
<P> RESOURCE_USAGE.RESOURCEUSAGE_ALL, </p>
<P> o, </p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">out</font><FONT FACE="Lucida Console"> ptrHandle );</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">if</font><FONT FACE="Lucida Console">( iRet != 0 )</p>
<P> { </p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">return</font><FONT FACE="Lucida Console">; </p>
<P> }</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> entries;</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> buffer = 16384;</p>
<P> IntPtr ptrBuffer = Marshal.AllocHGlobal( buffer );</p>
<P> NETRESOURCE nr;</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">for</font><FONT FACE="Lucida Console">(;;)</p>
<P> {</p>
<P> entries = -1;</p>
<P> buffer = 16384;</p>
<P> iRet =WNetEnumResource( ptrHandle, </font><FONT FACE="Lucida Console" COLOR="#0000ff">ref</font><FONT FACE="Lucida Console"> entries, ptrBuffer, </font><FONT FACE="Lucida Console" COLOR="#0000ff">ref</font><FONT FACE="Lucida Console"> buffer );</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">if</font><FONT FACE="Lucida Console">( (iRet != 0) || (entries < 1) )</p>
<P> {</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">break</font><FONT FACE="Lucida Console">;</p>
<P> }</p>
<P> Int32 ptr = ptrBuffer.ToInt32();</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">for</font><FONT FACE="Lucida Console">( </font><FONT FACE="Lucida Console" COLOR="#0000ff">int</font><FONT FACE="Lucida Console"> i = 0; i < entries; i++ )</p>
<P> {</p>
<P> nr = (NETRESOURCE)Marshal.PtrToStructure( </font><FONT FACE="Lucida Console" COLOR="#0000ff">new</font><FONT FACE="Lucida Console"> IntPtr(ptr), </font><FONT FACE="Lucida Console" COLOR="#0000ff">typeof</font><FONT FACE="Lucida Console">(NETRESOURCE) );</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">if</font><FONT FACE="Lucida Console">(RESOURCE_USAGE.RESOURCEUSAGE_CONTAINER == (nr.dwUsage</p>
<P> & RESOURCE_USAGE.RESOURCEUSAGE_CONTAINER))</p>
<P> {</p>
</font><FONT FACE="Lucida Console" COLOR="#008000"><P>//call recursively to get all entries in a container</p>
</font><FONT FACE="Lucida Console"><P> WNETOE(nr);</p>
<P> }</p>
<P> ptr += Marshal.SizeOf( nr );</p>
<P>Console.WriteLine( " {0} : LocalName='{1}' RemoteName='{2}'",</p>
<P>nr.dwDisplayType.ToString(), nr.lpLocalName, nr.lpRemoteName );</p>
<P> }</p>
<P> }</p>
<P> Marshal.FreeHGlobal( ptrBuffer );</p>
<P> iRet =WNetCloseEnum( ptrHandle );</p>
<P> }</p>
<P> </font><FONT FACE="Lucida Console" COLOR="#0000ff">catch</font><FONT FACE="Lucida Console">(Exception e)</p>
<P> {</p>
<P> }</p>
<P>}</p>
</font><FONT FACE="Lucida Console" COLOR="#008000">
<P>//now call the function passing a null</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff">
</font><FONT FACE="Lucida Console"><P>WNETOE(null);</p>
</font><FONT SIZE=2>
</font><FONT FACE="Lucida Console" COLOR="#008000"><P>//here's some possible error codes</p>
</font><FONT FACE="Lucida Console" COLOR="#0000ff">
<P>public</font><FONT FACE="Lucida Console"> </font><FONT FACE="Lucida Console" COLOR="#0000ff">enum</font><FONT FACE="Lucida Console"> NERR</p>
<P>{</p>
<P> NERR_Success = 0, </font><FONT FACE="Lucida Console" COLOR="#008000">/* Success */</p>
</font><FONT FACE="Lucida Console"><P> ERROR_MORE_DATA = 234, </font><FONT FACE="Lucida Console" COLOR="#008000">// dderror</p>
</font><FONT FACE="Lucida Console"><P> ERROR_NO_BROWSER_SERVERS_FOUND = 6118,</p>
<P> ERROR_INVALID_LEVEL = 124,</p>
<P> ERROR_ACCESS_DENIED = 5,</p>
<P> ERROR_INVALID_PARAMETER = 87,</p>
<P> ERROR_NOT_ENOUGH_MEMORY = 8,</p>
<P> ERROR_NETWORK_BUSY = 54,</p>
<P> ERROR_BAD_NETPATH = 53,</p>
<P> ERROR_NO_NETWORK = 1222,</p>
<P> ERROR_INVALID_HANDLE_STATE = 1609,</p>
<P> ERROR_EXTENDED_ERROR = 1208</p>
<P>}</p></font></body>
</html>
Originalkommentare (3)
Wiederhergestellt von der Wayback Machine