コード例 #1
0
        private static IEnumerable <string> GetStreams_Vista(String sPath)
        {
            if (sPath == null)
            {
                throw new ArgumentNullException("sPath");
            }
            WIN32_FIND_STREAM_DATA findStreamData = new WIN32_FIND_STREAM_DATA();
            SafeFindHandle         handle         = FindFirstStreamW(sPath, StreamInfoLevels.FindStreamInfoStandard, findStreamData, 0);

            if (handle.IsInvalid)
            {
                throw new Win32Exception();
            }
            try
            {
                do
                {
                    yield return(findStreamData.cStreamName);
                } while (FindNextStreamW(handle, findStreamData));
                int lastError = Marshal.GetLastWin32Error();
                if (lastError != ERROR_HANDLE_EOF)
                {
                    throw new Win32Exception(lastError);
                }
            }
            finally
            {
                handle.Dispose();
            }
        }
コード例 #2
0
ファイル: Proxy.cs プロジェクト: zmshan2008/MediaPortal-2
        private static void Addto(FILL_FIND_STREAM_DATA fill, DokanFileInfo rawFileInfo, FileInformation fi)
        {
            var data = new WIN32_FIND_STREAM_DATA
            {
                StreamSize  = fi.Length,
                cStreamName = fi.FileName
            };

            //ZeroMemory(&data, sizeof(WIN32_FIND_DATAW));

            fill(ref data, rawFileInfo);
        }
コード例 #3
0
 private static extern bool FindNextStreamW(SafeFindHandle hndFindFile, [In, Out, MarshalAs(UnmanagedType.LPStruct)]
                                            WIN32_FIND_STREAM_DATA lpFindStreamData);
コード例 #4
0
 private static extern SafeFindHandle FindFirstStreamW(
     string lpFileName, StreamInfoLevels InfoLevel,
     [In, Out, MarshalAs(UnmanagedType.LPStruct)]
     WIN32_FIND_STREAM_DATA lpFindStreamData, uint dwFlags);
コード例 #5
0
ファイル: AdsFileStream [002].cs プロジェクト: bretlinne/Medo
 public static extern bool FindNextStreamW([InAttribute()] SafeFindStreamHandle hFindStream, ref WIN32_FIND_STREAM_DATA lpFindStreamData);
コード例 #6
0
ファイル: AdsFileStream [002].cs プロジェクト: bretlinne/Medo
 public static extern SafeFindStreamHandle FindFirstStreamW([InAttribute()][MarshalAsAttribute(UnmanagedType.LPWStr)] string lpFileName, STREAM_INFO_LEVELS InfoLevel, ref WIN32_FIND_STREAM_DATA lpFindStreamData, uint dwFlags);