mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 00:43:00 -05:00
sys: IRP_MJ_CREATE
This commit is contained in:
parent
f4b8609a98
commit
a11005c5b5
@ -93,8 +93,7 @@ typedef struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
UINT32 CreateDisposition; /* FILE_{SUPERSEDE,CREATE,OPEN,OPEN_IF,OVERWRITE,OVERWRITE_IF} */
|
||||
UINT32 CreateOptions; /* FILE_{DIRECTORY_FILE,NON_DIRECTORY_FILE,etc.} */
|
||||
UINT32 CreateOptions; /* Disposition: high 8 bits; Options: low 24 bits */
|
||||
UINT32 FileAttributes; /* FILE_ATTRIBUTE_{NORMAL,DIRECTORY,etc.} */
|
||||
FSP_FSCTL_TRANSACT_BUF SecurityDescriptor; /* security descriptor for new files */
|
||||
UINT64 AllocationSize; /* initial allocation size */
|
||||
|
@ -67,8 +67,7 @@ static NTSTATUS FspFsvolCreate(
|
||||
PFILE_OBJECT RelatedFileObject = FileObject->RelatedFileObject;
|
||||
UNICODE_STRING FileName = FileObject->FileName;
|
||||
PACCESS_STATE AccessState = IrpSp->Parameters.Create.SecurityContext->AccessState;
|
||||
ULONG CreateDisposition = (IrpSp->Parameters.Create.Options >> 24) & 0xff;
|
||||
ULONG CreateOptions = IrpSp->Parameters.Create.Options & 0xffffff;
|
||||
ULONG CreateOptions = IrpSp->Parameters.Create.Options;
|
||||
USHORT FileAttributes = IrpSp->Parameters.Create.FileAttributes;
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor = AccessState->SecurityDescriptor;
|
||||
ULONG SecurityDescriptorSize = 0;
|
||||
@ -275,7 +274,6 @@ static NTSTATUS FspFsvolCreate(
|
||||
|
||||
/* populate the Create request */
|
||||
Request->Kind = FspFsctlTransactCreateKind;
|
||||
Request->Req.Create.CreateDisposition = CreateDisposition;
|
||||
Request->Req.Create.CreateOptions = CreateOptions;
|
||||
Request->Req.Create.FileAttributes = FileAttributes;
|
||||
Request->Req.Create.SecurityDescriptor.Offset = 0 == SecurityDescriptorSize ? 0 :
|
||||
@ -398,7 +396,7 @@ VOID FspFsvolCreateComplete(
|
||||
FspFsvrtDeviceExtension(FsvolDeviceExtension->FsvrtDeviceObject);
|
||||
PFILE_OBJECT FileObject = IrpSp->FileObject;
|
||||
PACCESS_STATE AccessState = IrpSp->Parameters.Create.SecurityContext->AccessState;
|
||||
ULONG CreateOptions = IrpSp->Parameters.Create.Options & 0xffffff;
|
||||
ULONG CreateOptions = IrpSp->Parameters.Create.Options;
|
||||
BOOLEAN FileCreated = FILE_CREATED == Response->IoStatus.Information;
|
||||
UINT32 ResponseFileAttributes = Response->Rsp.Create.Opened.FileAttributes;
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
||||
|
Loading…
x
Reference in New Issue
Block a user