コード例 #1
0
        private static OpenAndXResponse CreateResponseForNamedPipe(ushort fileID)
        {
            OpenAndXResponse response = new OpenAndXResponse();

            response.FID                        = fileID;
            response.AccessRights               = AccessRights.SMB_DA_ACCESS_READ_WRITE;
            response.ResourceType               = ResourceType.FileTypeMessageModePipe;
            response.NMPipeStatus.ICount        = 255;
            response.NMPipeStatus.ReadMode      = ReadMode.MessageMode;
            response.NMPipeStatus.NamedPipeType = NamedPipeType.MessageNodePipe;
            return(response);
        }
コード例 #2
0
        private static OpenAndXResponse CreateResponseFromFileInfo(FileNetworkOpenInformation fileInfo, ushort fileID, OpenResult openResult)
        {
            OpenAndXResponse response = new OpenAndXResponse();

            response.FID                    = fileID;
            response.FileAttrs              = SMB1FileStoreHelper.GetFileAttributes(fileInfo.FileAttributes);
            response.LastWriteTime          = fileInfo.LastWriteTime;
            response.FileDataSize           = (uint)Math.Min(UInt32.MaxValue, fileInfo.EndOfFile);
            response.AccessRights           = AccessRights.SMB_DA_ACCESS_READ;
            response.ResourceType           = ResourceType.FileTypeDisk;
            response.OpenResults.OpenResult = openResult;
            return(response);
        }
コード例 #3
0
        private static OpenAndXResponse CreateResponseFromFileSystemEntry(FileSystemEntry entry, ushort fileID, OpenResult openResult)
        {
            OpenAndXResponse response = new OpenAndXResponse();

            if (entry.IsDirectory)
            {
                response.FileAttrs = SMBLibrary.SMB1.FileAttributes.Directory;
            }
            else
            {
                response.FileAttrs = SMBLibrary.SMB1.FileAttributes.Normal;
            }
            response.FID                    = fileID;
            response.LastWriteTime          = entry.LastWriteTime;
            response.FileDataSize           = (uint)Math.Min(UInt32.MaxValue, entry.Size);
            response.AccessRights           = AccessRights.SMB_DA_ACCESS_READ;
            response.ResourceType           = ResourceType.FileTypeDisk;
            response.OpenResults.OpenResult = openResult;
            return(response);
        }