Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
The server provides:
Open: An Open of a DataFile.
InputBufferSize: The byte count of the InputBuffer.
InputBuffer: A buffer of type MARK_HANDLE_INFO as defined in [MS-FSCC] section 2.3.39.
Upon completion, the object store MUST return:
Status: An NTSTATUS code that specifies the result.
Support for this operation is optional. If the object store does not implement this functionality, the operation MUST be failed with STATUS_INVALID_DEVICE_REQUEST. If the object store supports FSCTL_MARK_HANDLE but does not support MARK_HANDLE_READ_COPY or MARK_HANDLE_NOT_READ_COPY, then STATUS_INVALID_PARAMETER MUST be returned. <109>
Pseudocode for the operation is as follows:
If InputBufferSize is less than the size of the MARK_HANDLE_INFO structure, the operation MUST be failed with STATUS_BUFFER_TOO_SMALL.
If Open.Stream.StreamType == DirectoryStream, the operation MUST be failed with STATUS_DIRECTORY_NOT_SUPPORTED.<110>
STATUS_INVALID_PARAMETER is returned if:
InputBuffer.HandleInfo contains any flag other than one and only one of either MARK_HANDLE_READ_COPY or MARK_HANDLE_NOT_READ_COPY.
Open.Mode.FILE_NO_INTERMEDIATE_BUFFERING was not specified at open time, meaning the file was opened for cached IO operations.
If InputBuffer.CopyNumber > (Open.File.Volume.NumberOfDataCopies – 1).
If Open.Stream.StreamType != DataStream.
If InputBuffer.HandleInfo has MARK_HANDLE_READ_COPY set:
If Open.File.Volume.NumberOfDataCopies < 2, the operation MUST be failed with STATUS_NOT_REDUNDANT_STORAGE.
If Open.Stream.IsCompressed is TRUE, the operation MUST be failed with STATUS_COMPRESSED_FILE_NOT_SUPPORTED.
If a file is resident the operation MUST be failed with STATUS_RESIDENT_FILE_NOT_SUPPORTED.<111>
Set Open.ReadCopyNumber = InputBuffer.CopyNumber.
Else If InputBuffer.HandleInfo has MARK_HANDLE_NOT_READ_COPY set:
For ReFS File System, if Open.File.Volume.NumberOfDataCopies < 2, the operation MUST be failed with STATUS_NOT_REDUNDANT_STORAGE.
Set Open.ReadCopyNumber = 0xffffffff.
EndIf
Upon successful completion of the operation, the object store MUST return:
Status set to STATUS_SUCCESS.