2.2.1.4.1 Device Create Request (DR_CREATE_REQ)

This header initiates a create request. This message can have different purposes depending on the device for which it is issued. The device type is determined by the DeviceId field in the DR_DEVICE_IOREQUEST header.


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

DeviceIoRequest (24 bytes)

...

...

DesiredAccess

AllocationSize

...

FileAttributes

SharedAccess

CreateDisposition

CreateOptions

PathLength

Path (variable)

...

DeviceIoRequest (24 bytes):  A DR_DEVICE_IOREQUEST header. The MajorFunction field in this header MUST be set to IRP_MJ_CREATE.

DesiredAccess (4 bytes):  A 32-bit unsigned integer that specifies the level of access. This field is specified in [MS-SMB2] section 2.2.13.

AllocationSize (8 bytes):  A 64-bit unsigned integer that specifies the initial allocation size for the file.

FileAttributes (4 bytes):  A 32-bit unsigned integer that specifies the attributes for the file being created. This field is specified in [MS-SMB2] section 2.2.13.

SharedAccess (4 bytes):  A 32-bit unsigned integer that specifies the sharing mode for the file being opened. This field is specified in [MS-SMB2] section 2.2.13.

CreateDisposition (4 bytes): A 32-bit unsigned integer that specifies the action for the client to take if the file already exists. This field is specified in [MS-SMB2] section 2.2.13. For ports and other devices, this field MUST be set to FILE_OPEN (0x00000001).

CreateOptions (4 bytes): A 32-bit unsigned integer that specifies the options for creating the file. This field is specified in [MS-SMB2] section 2.2.13.

PathLength (4 bytes): A 32-bit unsigned integer that specifies the number of bytes in the Path field, including the null-terminator.

Path (variable): A variable-length array of Unicode characters, including the null-terminator, whose size is specified by the PathLength field. The protocol imposes no limitations on the characters used in this field.