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.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.