Revision Summary Date Revision History Revision Comments 7/20/2007 0.1 Major MCPP Milestone 5 Initial Availability 9/28/2007 1.0 Major Updated and revised the technical content. 10/23/2007 2.0 Major Updated and revised the technical content. 11/30/2007 2.1 Minor Clarified the meaning of the technical content. 1/25/2008 2.1.1 Editorial Changed language and formatting in the technical content. 3/14/2008 2.1.2 Editorial Changed language and formatting in the technical content. 5/16/2008 2.1.3 Editorial Changed language and formatting in the technical content. 6/20/2008 2.2 Minor Clarified the meaning of the technical content. 7/25/2008 3.0 Major Updated and revised the technical content.
8/29/2008 3.0.1 Editorial Changed language and formatting in the technical content. 10/24/2008 3.1 Minor Clarified the meaning of the technical content. 12/5/2008 4.0 Major Updated and revised the technical content. 1/16/2009 5.0 Updated and revised the technical content. 2/27/2009 6.0 Major Updated and revised the technical content. 4/10/2009 6.0.1 Editorial Changed language and formatting in the technical content. 5/22/2009 7.0 Updated and revised the technical content. 7/2/2009 8.0 Major Updated and revised the technical content. 8/14/2009 9.0 Major Updated and revised the technical content. 9/25/2009 10.0 Major Updated and revised the
technical content. 12/16/2011 18.0 Updated and revised the technical content. 3/30/2012 18.0 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 19.0 Major Updated and revised the technical content. 10/25/2012 20.0 Major Updated and revised the technical content. 1/31/2013 20.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 21.0 Major Updated and revised the technical content. 11/14/2013 21.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 21.0 None No changes to the meaning, language, or
Information (optional) DeviceIoReply (16 bytes): A header. The CompletionId field of this header MUST match a message that had the MajorFunction field set to IRP_MJ_CREATE. FileId (4 bytes): A 32-bit unsigned integer that specifies a unique ID for the created file object. The ID MUST be reused after sending a . Information (1 byte): An unsigned 8-bit integer. This field indicates the success of the Device Create Request (section 2.2.1.4.1). The value of the Information field depends on the value of CreateDisposition field in the Device Create Request (section 2.2.1.4.1). If the IoStatus field is set to 0x00000000, this field MAY be skipped,<7> in which case the server MUST assume that the Information field is set to 0x00. The possible values of the Information field are: Meaning FILE_SUPERSEDED 0x00000000 A new file was created. FILE_OPENED 0x00000001 An existing file was opened. FILE_OVERWRITTEN 0x00000003 An existing file was overwritten. The values of the CreateDisposition field in the Device Create Request (section 2.2.1.4.1) that determine the value of the Information field are associated as follows: Information value CreateDisposition field value FILE_SUPERSEDED FILE_SUPERSEDE FILE_OPEN FILE_CREATE FILE_OVERWRITE FILE_OPENED FILE_OPEN_IF FILE_OVERWRITTEN FILE_OVERWRITE_IF Device Response (DR_CLOSE_RSP) This message is a reply to a . 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 DeviceIoReply (16 bytes) ... ...
0x00000002 RDPDR_IRP_MJ_CLOSE 0x00000004 Unused, always set. RDPDR_IRP_MJ_READ 0x00000008 Unused, always set. RDPDR_IRP_MJ_WRITE 0x00000010 Unused, always set. RDPDR_IRP_MJ_FLUSH_BUFFERS 0x00000020 Unused, always set. RDPDR_IRP_MJ_SHUTDOWN 0x00000040 Unused, always set. RDPDR_IRP_MJ_DEVICE_CONTROL 0x00000080 Unused, always set. RDPDR_IRP_MJ_QUERY_VOLUME_INFORMATION 0x00000100 Unused, always set. RDPDR_IRP_MJ_SET_VOLUME_INFORMATION 0x00000200 Unused, always set. RDPDR_IRP_MJ_QUERY_INFORMATION 0x00000400 Unused, always set. RDPDR_IRP_MJ_SET_INFORMATION 0x00000800 Unused, always set. RDPDR_IRP_MJ_DIRECTORY_CONTROL 0x00001000 Unused, always set. RDPDR_IRP_MJ_LOCK_CONTROL 0x00002000 Unused, always set. RDPDR_IRP_MJ_QUERY_SECURITY 0x00004000 Enable Query Security requests (IRP_MJ_QUERY_SECURITY). RDPDR_IRP_MJ_SET_SECURITY 0x00008000 Enable Set Security requests (IRP_MJ_SET_SECURITY). ioCode2 (4 bytes): A 32-bit unsigned integer that is currently reserved for future use, and MUST be set to 0. extendedPDU (4 bytes): A 32-bit unsigned integer that specifies extended flags. This field MUST be set as a bitmask of the following values. Value Meaning RDPDR_DEVICE_REMOVE_PDUS 0x00000001 Allow the client to send packets. RDPDR_CLIENT_DISPLAY_NAME_PDU 0x00000002 Unused, always set.
F 13 G 32 9 H triggered events client ( 57, 60) server ( 57, 64) I 84 84 10 Initialization client ( 57, 60) server ( 57, 64) 28 9 L Local events client ( 59, 64) server ( 59, 68) M Message processing client ( 57, 60) 61 61 60 server ( 57, 64) 61 61 60 Messages 14 61 36 28 14 14 14 N 10 O Other local events 64 68 10 10 P 84 34 12 12 34 85 Protocol Details 56 10 R 44 28 14 10 10 10 12 S Security 84 84 84 Sequencing rules client ( 57, 60) server ( 57, 64) Server ( 56, 64) abstract data ( 56, 64) higher-layer triggered events ( 57, 64) initialization ( 57, 64) local events ( 59, 68) message processing ( 57, 64) 68 sequencing rules ( 57, 64) events ( 59, 68) timers ( 56, 64) 35 13 14 T Timer events client ( 59, 64) server ( 59, 68) Timers client ( 56, 60) server ( 56, 64) 87 14 Triggered events - higher-layer client ( 57, 60) server ( 57, 64) V 13 13