Ejemplo n.º 1
0
        public NtStatus EnumerateNamedStreamsProxy(string rawFileName,
                                                   IntPtr rawEnumContext,
                                                   StringBuilder rawStreamName, ref uint rawStreamNameLength,
                                                   ref long rawStreamSize,
                                                   DokanFileInfo rawFileInfo)
        {
            try
            {
                Trace("\tEnumerateNamedStreamsProxy : " + rawFileName);
                Trace("\tContext\t" + ToTrace(rawFileInfo));

                string   name;
                NtStatus result = operations.EnumerateNamedStreams(rawFileName, rawEnumContext, out name, out rawStreamSize, rawFileInfo);
                if (result == DokanResult.Success)
                {
                    rawStreamName.Append(name);
                    rawStreamNameLength = (uint)name.Length;
                }

                Trace("EnumerateNamedStreamsProxy : " + rawFileName + " Return : " + result);
                return(result);
            }
#pragma warning disable 0168
            catch (Exception ex)
#pragma warning restore 0168
            {
                Trace("EnumerateNamedStreamsProxy : " + rawFileName + " Throw : " + ex.Message);
                return(DokanResult.InvalidParameter);
            }
        }