Revision Summary Date Revision History Revision Class Comments 10/22/2006 0.01 New Version 0.01 release 1/19/2007 1.0 Major Version 1.0 release 3/2/2007 1.1 Minor Version 1.1 release 4/3/2007 1.2 Minor Version 1.2 release 5/11/2007 1.3 Minor Version 1.3 release 6/1/2007 1.3.1 Editorial Changed language and formatting in the technical content. 7/3/2007 1.3.2 Editorial Changed language and formatting in the technical content. 7/20/2007 1.3.3 Editorial Changed language and formatting in the technical content. 8/10/2007 2.0 Major new content. 9/28/2007 2.0.1 Editorial Changed language and formatting in the technical content. 10/23/2007 2.1 Minor Added new content. 11/30/2007 2.1.1 Editorial Changed language and formatting in the
technical content. 1/25/2008 2.1.2 Editorial Changed language and formatting in the technical content. 3/14/2008 2.1.3 Editorial Changed language and formatting in the technical content. 5/16/2008 2.1.4 Editorial Changed language and formatting in the technical content. 6/20/2008 3.0 Major Updated and revised the technical content. 7/25/2008 3.1 Minor Clarified the meaning of the technical content. 8/29/2008 3.2 Minor Clarified the meaning of the technical content. 10/24/2008 4.0 Major Updated and revised the technical content. 12/5/2008 5.0 Major Updated and revised the technical content. 1/16/2009 6.0 Major Updated and revised the technical content.
2/27/2009 7.0 Major Updated and revised the technical content. 4/10/2009 8.0 Major Updated and revised the technical content. 5/22/2009 8.0.1 Editorial Changed language and formatting in the technical content. 7/2/2009 9.0 Major Updated and revised the technical content. 8/14/2009 10.0 Major Updated and revised the technical content. 9/25/2009 11.0 Major Updated and revised the technical content. 11/6/2009 11.0.1 Editorial Changed language and formatting in the technical content. 12/18/2009 12.0 Major Updated and revised the technical content. 1/29/2010 12.1 Clarified the meaning of the technical content. 3/12/2010 13.0 Major Updated and revised the
technical content. 4/23/2010 14.0 Major Updated and revised the technical content. 6/4/2010 15.0 Major Updated and revised the technical content. 7/16/2010 16.0 Updated and revised the technical content. 8/27/2010 17.0 Major Updated and revised the technical content. 10/8/2010 18.0 Major Updated and revised the technical content. 11/19/2010 19.0 Major Updated and revised the technical content. 1/7/2011 20.0 Major Updated and revised the technical content. 2/11/2011 21.0 Major Updated and revised the technical content. 3/25/2011 22.0 Major Updated and revised the technical content. 5/6/2011 23.0 Major Updated and revised the technical content.
6/17/2011 23.1 Minor Clarified the meaning of the technical content. 9/23/2011 23.1 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 24.0 Updated and revised the technical content. 3/30/2012 24.0 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 24.1 Minor Clarified the meaning of the technical content. 10/25/2012 25.0 Major Updated and revised the technical content. 1/31/2013 25.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 26.0 Major Updated and revised the technical content. 11/14/2013 27.0 Major Updated and revised
the technical content. 2/13/2014 27.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 27.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 28.0 Major Significantly changed the technical content. 10/16/2015 28.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 28.0 None No changes to the meaning, language, or formatting of the technical content.
In all conformant varying cases, the maximum count MUST be equal to or greater than the sum of actual count and offset. If this validation fails, the implementation MUST treat the octet stream as invalid. Additional Limitations These extensions add the following limitations to those as specified in . Limiting Maximum Count and Octet Stream Length These extensions specify that a conformant array or conformant and varying string SHOULD have, at most, 231-1 elements in each dimension.<65> strict_context_handle A context handle created by a method belonging to one interface SHOULD NOT be accepted by a method belonging to another interface when a strict_context_handle consistency check is activated. For more information on syntax details, see section . Rejecting Insufficient Octet Stream An octet stream MUST contain sufficient data to unmarshal all the required parameters. Implementation of these extensions SHOULD indicate the octet stream as invalid if there is insufficient data. range Attribute to Limit the Scope of Integral Values and the Number of Elements in Pipe Chunks In target level 5.0 of strict NDR/NDR64 data consistency checking, implementation of these extensions can limit the allowed scope for integral types and pipes. If the integral data value is out of the specified range scope, the implementation SHOULD indicate the octet stream as invalid. Implementation of these extensions can also limit the acceptable range of elements in a pipe chunk. The implementation SHOULD indicate the octet stream as invalid if the number of elements in a pipe chunk is out of the specific range scope. For syntax information, see section . auto_handle Deprecation Implementation of this level of the extensions SHOULD NOT accept the auto_handle attribute if specified on an interface.<66> Ignoring Alignment Gap The content of alignment gaps, either within a structure or before an item in the octet stream, SHOULD be ignored. Target Level 6.0 This section specifies target level 6.0 strict NDR/NDR64 data consistency check limitations.<67> Additional Limitations type_strict_context_handle An implementation of extensions at this target level can activate the type strict context handle. When it is activated, the implementation SHOULD reject the use of context handles as an argument if
Implementations support the naming and encodings for comm_status and fault_status, as specified in appendix E. Conformant with respect to status codes sent between network nodes, but not conformant with respect to status codes returned to the higher-layer protocol. The status codes returned to the higher-layer protocol are specified in section . Implementations support the mapping from IDL types to NDR types, and from NDR types to defined International Organization for Standardization (ISO) C types, as specified in appendix F. Conforms IDL to NDR mappings conform with [C706] except where noted in section , where Remote Procedure Call extensions extends the specification with new types. Implementations support the portable character set, as specified in appendix G. Conforms. Implementations use the endpoint mapper ports, as specified in appendix H, for the corresponding protocols. Conforms for TCP/IP and UPD transports (NCACN_IP_TCP and NCADG_IP_UDP). Other transports use other ports as specified in section 2.1. Implementations adhere to the rules for protocol identifier assignment, as specified in appendix I. Not conformant, as specified in this specification in section 2.1. Implementations adhere to the mappings for directory service attributes, as specified in the DCE: Directory Services specification. Remote Procedure Call extensions is not an implementation or extension of DCE: Directory Services. Implementations provide defaults This specification redefines the protocol
for the protocol machine values specified in appendix K. state machines that are specified in [C706], in sections 3.2.1.1.1, 3.2.2.1, 3.2.3.1, 3.3.2, and 3.3.3. Some specific values from appendix K are used in this specification where noted. Implementations obey the special protocol tower encoding rules specified in appendix L. Conforms. Implementations support the syntax and semantics of the dce_error_inq_text routine specified in appendix M. Conforms. Implementations adhere to the mappings for transfer syntax as specified in appendix N. Conforms except where noted in this specification in section and . Remote Procedure Call extensions uses an NDR64 transfer syntax UUID (section 2.2.5.1) which modifies section 2.3 of [C706] "Binding" and adds addition UUID_type_identifiers to the list specified in Appendix I. Implementations support the endpoint mapper semantics, as specified in appendix O. Conforms except where noted in this specification in section . Implementations support the conversation manager semantics, as specified in appendix P. Conforms except where noted in this specification in section . Implementations support the remote management semantics, as Conforms except where noted in this specification in section .
Index [ [C706] requirements - RPC extensions conformance to 172 166 172 164 _ 59 59 __int3264 ( 59, 74) 59 59 6 63 63 A Abstract data model client - connectionless RPC ( 71, 80, 85, 91) client - connection-oriented RPC ( 71, 80, 112, 124) 85 server - connectionless RPC ( 71, 83, 85, 101) server - connection-oriented RPC ( 71, 83, 112, 131) 85 ACK 100 100 Additional limitations ( 77, 77) 46 33 27 60 60 64 36 149 149 Authentication tokens ( 49, 58) B 46 74 55 56 62 C 60 28 173 Client - connectionless RPC abstract data model ( 71, 80, 85, 91) higher-layer triggered events 86 89 99 73 73 81 initialization ( 73, 81, 86, 96) local events ( 80, 81, 91, 101) message processing ( 74, 81, 89, 99, 99, 99) 100 100 100 100 100 100 100 99 100 sequencing rules ( 74, 81, 89, 99, 99, 99) 100 100 100 100 100 100 100 99 100 timer events ( 80, 91, 101) timers ( 73, 81, 86, 95) Client - connection-oriented RPC abstract data model ( 71, 80, 112, 124) higher-layer triggered events 73 114 73 127 128 81 initialization ( 73, 81, 114, 127) local events ( 80, 81, 122, 130) message processing ( 74, 81, 114, 128) 123 sequencing rules ( 74, 81, 114, 128) timer events ( 80, 122, 129) timers ( 73, 81, 114, 126) Common types 35 35 68 69 64 61 64 65 145 71 84 56 56 Connectionless RPC transports
35 38 43 34 34 145 34 71 44 Connection-oriented RPC transports 35 38 43 29 34 Constants 35 35 64 60 146 74 75 D Data - abstract client - connectionless RPC ( 71, 80, 85, 91) client - connection-oriented RPC ( 71, 80, 112, 124) server - connectionless RPC ( 71, 83, 85, 101) server - connection-oriented RPC ( 71, 83, 112, 131) Data types NDR64 ( 64, 64) E 67 38 42 42 42 39 42 41 42 39 Examples 145 145 146 140 143 140 142 147 147 61 35 74 F FACK message processing 100 100 FAULT 100 100 57 28 150 150 G 13 H Higher-layer triggered events client - connectionless RPC 86 89 99 73 73 81 client - connection-oriented RPC 73 114 73 127 128 81 server - connectionless RPC 86 89 73 106 106 73 83 106 83 server - connection-oriented RPC 73 114 135 73 135 83 135 83 I 150 59 59 37 149 149 149 149 149 149 149
74 22 Initialization client - connectionless RPC ( 73, 81, 86, 96) client - connection-oriented RPC ( 73, 81, 114, 127) server - connectionless RPC ( 73, 83, 86, 106) server - connection-oriented RPC ( 73, 83, 114, 134) 13 L Local events client - connectionless RPC ( 80, 81, 91, 101) client - connection-oriented RPC ( 80, 81, 122, 130) server - connectionless RPC ( 80, 84, 91, 111) server - connection-oriented RPC ( 80, 84, 122, 138) M 43 35 Message processing client - connectionless RPC ( 74, 81, 89, 99, 99, 99) 100 100 100 100 100 100 100 99 100 client - connection-oriented RPC ( 74, 81, 114, 128) server - connectionless RPC ( 74, 84, 89, 107) server - connection-oriented RPC ( 74, 84, 114, 136) Messages 63 56 34 34 29 59 34 29 67 69 60 65 N 61 NDR64 64 67 65 65 64 64 63 45 31 33 32 59 45 NOCALL 100 100 16 O 26 P 35 143 140 142 149 PDU segments ( 44, 57) 57 44 45 99 99 66 61 67 35 27 Preferred security providers 149 149 27 69 59 70 68 74 151 Protocol Details 71 35 Q QUACK 100 100 QUIT 100 100 R 62 Range attribute 62 62 62