Compartir a través de


2.2.4.3.2 Response

 SMB_Parameters
   {
   UCHAR  WordCount;
   Words
     {
     USHORT              FID;
     SMB_FILE_ATTRIBUTES FileAttrs;
     UTIME               LastModified;
     ULONG               FileSize;
     USHORT              AccessMode;
     }
   }
 SMB_Data
   {
   USHORT ByteCount;
   }
            


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

SMB_Parameters (15 bytes)

...

...

...

SMB_Data

...

SMB_Parameters (15 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

WordCount

Words (14 bytes)

...

...

...

WordCount (1 byte): This field MUST be 0x07. The length, in 2-byte words, of the remaining SMB_Parameters.

Words (14 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

FID

FileAttrs

LastModified

FileSize

AccessMode

FID (2 bytes): The FID returned for the open file.

FileAttrs (2 bytes): The set of attributes currently assigned to the file. This field is formatted in the same way as the SearchAttributes field in the request.

LastModified (4 bytes): The time of the last modification to the opened file.

FileSize (4 bytes): The current size of the opened file, in bytes.

AccessMode (2 bytes): A 16-bit field for encoding the granted access mode. This field is formatted in the same way as the Request equivalent.

SMB_Data (2 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ByteCount

ByteCount (2 bytes): This field MUST be 0x0000. No data is sent by this message.

Error Codes

SMB error class

SMB error code

NT status code

POSIX equivalent

Description

ERRDOS

(0x01)

ERRbadfile

(0x0002)

STATUS_NO_SUCH_FILE

(0xC000000F)

ENOENT

The named file was not found.

ERRDOS

(0x01)

ERRbadpath

(0x0003)

STATUS_OBJECT_PATH_SYNTAX_BAD

(0xC000003B)

ENOENT

The file path syntax is invalid.

ERRDOS

(0x01)

ERRnofids

(0x0004)

STATUS_OS2_TOO_MANY_OPEN_FILES

(0x00040001)

STATUS_TOO_MANY_OPENED_FILES

(0xC000011F)

ENFILE

Too many open files, no more FIDs available.

ERRDOS

(0x01)

ERRbadpath

(0x0003)

STATUS_OBJECT_PATH_INVALID

(0xC0000039)

ENOTDIR

A component of the path-prefix was not a directory.

ERRDOS

(0x01)

ERRnoaccess

(0x0005)

STATUS_ACCESS_DENIED

(0xC0000022)

EACCESS

A component of the path-prefix denied search permission OR the requested access permission is denied for the file OR an open mode failure occurred.

ERRDOS

(0x01)

ERRnoaccess

(0x0005)

STATUS_FILE_IS_A_DIRECTORY

(0xC00000BA)

EISDIR

Named file is an existing directory and requested open mode is write or read/write.

ERRDOS

(0x01)

ERRnoaccess

(0x0005)

STATUS_ACCESS_DENIED

(0xC0000022)

ETXTBSY

File is an executable binary file that is being executed and requested access permission specifies write or read/write.

ERRDOS

(0x01)

ERRnomem

(0x0008)

STATUS_INSUFF_SERVER_RESOURCES

(0xC0000205)

ENOMEM

The server is out of resources.

ERRDOS

(0x01)

ERRbadaccess

(0x000C)

STATUS_OS2_INVALID_ACCESS

(0x000C0001)

The Reserved bit (0x0008) in the AccessMode.AccessMode subfield was set (1) in the request.

ERRDOS

(0x01)

ERRbadshare

(0x0020)

STATUS_SHARING_VIOLATION

(0xC0000043)

EAGAIN

File exists, mandatory file/record locking is set, and there are outstanding record locks on the file.

ERRSRV

(0x02)

ERRerror

(0x0001)

STATUS_INVALID_SMB

(0x00010002)

Invalid SMB. Not enough parameter bytes were sent.

ERRSRV

(0x02)

ERRerror

(0x0001)

EFAULT

The path points outside the allocated address space of the process.

ERRSRV

(0x02)

ERRerror

(0x0001)

EINTR

A signal was caught during the open operation.

ERRSRV

(0x02)

ERRerror

(0x0001)

ENXIO

Generic server open failure.

ERRSRV

(0x02)

ERRerror

(0x0001)

STATUS_ACCESS_DENIED

(0xC0000022)

EROFS

The named file resides on a read-only file system and the requested access permission is write or read/write.

ERRSRV

(0x02)

ERRaccess

(0x0004)

STATUS_NETWORK_ACCESS_DENIED

(0xC00000CA)

Permission conflict between the requested permission and permissions for the shared resource; for example, open for write of a file in a read-only file system subtree.

ERRSRV

(0x02)

ERRinvtid

(0x0005)

STATUS_SMB_BAD_TID

(0x00050002)

The TID is no longer valid.

ERRSRV

(0x02)

ERRinvdevice

(0x0007)

STATUS_BAD_DEVICE_TYPE

(0xC00000CB)

A file creation request was made to a share that is not a file system subtree.

ERRSRV

(0x02)

ERRbaduid

(0x005B)

STATUS_SMB_BAD_UID

(0x005B0002)

The UID supplied is not known to the session.

ERRHRD

(0x03)

ERRnowrite

(0x0013)

STATUS_MEDIA_WRITE_PROTECTED

(0xC00000A2)

EROFS

Attempt to write to a read-only file system.

ERRHRD

(0x03)

ERRdata

(0x0017)

STATUS_DATA_ERROR

(0xC000003E)

EIO

Disk I/O error.