Export (0) Print
Expand All

3.3.1.10 Per Open

The server implements the following:

  • Open.FileId: A numeric value that uniquely identifies the open handle to a file or a pipe within the scope of a session over which the handle was opened. This value is the volatile portion of the identifier. A 64-bit representation of this value, combined with Open.DurableFileId as described below, combine to form the SMB2_FILEID described in section 2.2.14.1.

  • Open.FileGlobalId: A numeric value obtained via registration with [MS-SRVS], as specified in [MS-SRVS] section 3.1.6.4.

  • Open.DurableFileId: A numeric value that uniquely identifies the open handle to a file or a pipe within the scope of all opens granted by the server, as described by the GlobalOpenTable. A 64-bit representation of this value combined with Open.FileId, as described above, form the SMB2_FILEID described in section 2.2.14.1. This value is the persistent portion of the identifier.

  • Open.Session: A reference to the authenticated session, as specified in section 3.3.1.8, over which this open was performed. If the open is not attached to a session at this time, this value MUST be NULL.

  • Open.TreeConnect: A reference to the TreeConnect, as specified in section 3.3.1.9, over which the open was performed. If the open is not attached to a TreeConnect at this time, this value MUST be NULL.

  • Open.Connection: A reference to the connection, as specified in section 3.3.1.7, that created this open. If the open is not attached to a connection at this time, this value MUST be NULL.

  • Open.LocalOpen: An open of a file or named pipe in the underlying local resource that is used to perform the local operations, such as reading or writing, to the underlying object. For named pipes, Open.LocalOpen is shared between the SMB server and RPC server applications which serve RPC requests on a given named pipe. The higher level interfaces described in sections 3.3.4.5 and 3.3.4.11 require this shared element.

  • Open.GrantedAccess: The access granted on this open, as defined in section 2.2.13.1.

  • Open.OplockLevel: The current oplock level for this open. This value MUST be one of the OplockLevel values defined in section 2.2.14: SMB2_OPLOCK_LEVEL_NONE, SMB2_OPLOCK_LEVEL_II, SMB2_OPLOCK_LEVEL_EXCLUSIVE, SMB2_OPLOCK_LEVEL_BATCH, or OPLOCK_LEVEL_LEASE.

  • Open.OplockState: The current oplock state of the file. This value MUST be Held, Breaking, or None.

  • Open.OplockTimeout: The time value that indicates when an oplock that is breaking and has not received an acknowledgment from the client will be acknowledged by the server.

  • Open.IsDurable: A Boolean that indicates whether this open has requested durable operation.

  • Open.DurableOpenTimeout: A time value that indicates when a handle that has been preserved for durability will be closed by the system if a client has not reclaimed it.

  • Open.DurableOwner: A security descriptor that holds the original opener of the open. This allows the server to determine if a caller that is trying to reestablish a durable open is allowed to do so. If the server implements SMB 2.1 or SMB 3.x and supports resiliency, this value is also used to enforce security during resilient open reestablishment.

  • Open.EnumerationLocation: For directories, this value indicates the current location in a directory enumeration and allows for the continuing of an enumeration across multiple requests. For files, this value is unused.

  • Open.EnumerationSearchPattern: For directories, this value holds the search pattern that is used in directory enumeration and allows for the continuing of an enumeration across multiple requests. For files, this value is unused.

  • Open.CurrentEaIndex: For extended attribute information, this value indicates the current location in an extended attribute information list and allows for the continuing of an enumeration across multiple requests.

  • Open.CurrentQuotaIndex: For quota queries, this value indicates the current index in the quota information list and allows for the continuation of an enumeration across multiple requests.

  • Open.LockCount: A numeric value that indicates the number of locks that are held by current open.

  • Open.PathName: A variable-length Unicode string that contains the local path name on the server that the open is performed on.

  • Open.ResumeKey: A 24-byte key that identifies a source file in a server-side data copy operation.

If the server implements the SMB 2.1 or SMB 3.x dialect family and supports leasing, it MUST implement the following:

  • Open.ClientGuid: An identifier for the client machine that created this open.

  • Open.Lease: The lease associated with this open, as defined in 3.3.1.12. This value MUST point to a valid lease, or be set to NULL.

  • Open.IsResilient: A Boolean that indicates whether this open has requested resilient operation.

  • Open.ResiliencyTimeout: A time-out value that indicates how long the server will hold the file open after a disconnect before releasing the open.

  • Open.ResilientOpenTimeout: A time value that indicates when a handle that has been preserved for resiliency will be closed by the system if a client has not reclaimed it.

  • Open.LockSequenceArray[]: An array of lock sequence entries (each of size 1 byte) that have been successfully processed by the server for resilient opens. The size of this array is implementation-dependent.<168>

If the server implements the SMB 3.x dialect family, it MUST implement the following:

  • Open.CreateGuid: A 16-byte value that associates this open to a create request.

  • Open.AppInstanceId: A 16-byte value that associates this open with a calling application.

  • Open.IsPersistent: A Boolean that indicates whether this open is persistent.

  • Open.ChannelSequence: A 16-bit identifier indicating the client's Channel change.

  • Open.OutstandingRequestCount: A numerical value that indicates the number of outstanding requests issued with ChannelSequence equal to Open.ChannelSequence

  • Open.OutstandingPreRequestCount: A numerical value that indicates the number of outstanding requests issued with ChannelSequence less than Open.ChannelSequence.

  • Open.FileName: A variable length string that contains the Unicode file name supplied by the client for opening the file.

  • Open.DesiredAccess: The access mode requested by the client while opening the file, in the format specified in section 2.2.13.1.

  • Open.ShareMode: The sharing mode requested by the client while opening the file, in the format specified in section 2.2.13.

  • Open.CreateOptions: The create options requested by the client while opening the file, in the format specified in section 2.2.13.

  • Open.FileAttributes: The file attributes used by the client for opening the file, in the format specified in section 2.2.13.

  • Open.CreateDisposition: The create disposition requested by the client for opening the file, in the format specified in section 2.2.13.

If the server implements the SMB 3.02 dialect, it MUST implement the following:

  • Open.IsSharedVHDX: A Boolean that indicates whether this open is a shared virtual disk operation.

 
Show:
© 2014 Microsoft