and formatting in the technical content. 8/29/2008 1.0.2 Editorial Changed language and formatting in the technical content. 10/24/2008 1.0.3 Editorial Changed language and formatting in the technical content. 12/5/2008 1.1 Minor Clarified the meaning of the technical content. 1/16/2009 1.2 Clarified the meaning of the technical content. 2/27/2009 2.0 Major Updated and revised the technical content. 4/10/2009 3.0 Major Updated and revised the technical content. 5/22/2009 4.0 Updated and revised the technical content. 7/2/2009 5.0 Major Updated and revised the technical content. 8/14/2009 5.1 Clarified the meaning of the
8/27/2010 7.0 Updated and revised the technical content. 10/8/2010 7.0 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 7.0 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 8.0 Major Updated and revised the technical content. 2/11/2011 8.0 None No changes to the meaning, language, or formatting of the technical content. 3/25/2011 8.0 None No changes to the meaning, language, or formatting of the technical content. 5/6/2011 8.0 None No changes to the meaning, language, or formatting of the technical content.
8/8/2013 10.0 Major Updated and revised the technical content. 11/14/2013 10.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 10.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 10.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 11.0 Major Significantly changed the technical content. 10/16/2015 11.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 11.0 None No changes to the meaning, language, or formatting of the technical content.
... EncryptedDataLength (4 bytes): A 32-bit unsigned integer that stores the size, in bytes, of the EncryptedData field. SignedHashLength (4 bytes): A 32-bit unsigned integer that stores the size, in bytes, of the SignedHash field. EncryptedData (variable): A variable-length of bytes containing encrypted data. The data before the is stored in format. Padding (variable): A variable-length array of bytes where the length of the padding is based on the EncryptedDataLength field. The number of padding bytes is calculated as the difference between the 8-byte aligned EncryptedDataLength field and the actual EncryptedDataLength field. SignedHash (variable): A variable-length array of bytes that contains the of the EncryptedData field. CLEARTEXT_WITH_PREFIX_BLOB The CLEARTEXT_WITH_PREFIX_BLOB message is used to store data before it is encrypted and serialized into the BlobData field of the message with the BlobSignature field set to ENCRYPTED_DATA_BLOB_SIGNATURE. 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 Reserved ClearTextData (variable) ... Reserved (4 This field MUST be set to zero and MUST be ignored on receipt. ClearTextData (variable): A variable-length array of bytes that contains cleartext data. Secure Session Negotiation Constants Constant/value Description HASH_TEXT_STRING_1 "IIS Key Exchange Phase 3" The constant string used to calculate the hash sent by the client with the call. HASH_TEXT_STRING_2 "IIS Key Exchange 4" The constant string used to calculate the hash sent by the server in
The handle of the opened node. CloseKey (Opnum 18) The CloseKey method closes a handle to a node. HRESULT CloseKey( [in] METADATA_HANDLE hMDHandle ); hMDHandle: An unsigned 32-bit integer value containing the handle to close, as returned by the method. Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see . Return value/code Description 0x00000000 S_OK The call was successful. 0x80070006 ERROR_INVALID_HANDLE The handle is invalid. The field value for this method is 18. When processing this call, the MUST do the following: Check the handle parameter. This handle is valid if it is either the master root handle or a handle returned from a previous OpenKey (section 3.1.4.2) call. If the handle is invalid, return the ERROR_INVALID_HANDLE error. Decrease the internal lock count in the state of the handle and release the lock, if it is possible. AddKey 3) The AddKey method creates a node and adds it to the as a subnode of an existing node at the specified path. HRESULT AddKey( [in] METADATA_HANDLE hMDHandle, [unique, in, string] LPCWSTR pszMDPath ); hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying the node in the metabase where the new key is to be added. pszMDPath: A pointer to a Unicode string that contains the new node's path, relative to the path of the hMDHandle parameter. Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or positive values indicate success, with the lower 16 bits in
); pszMDBackupName: A string of up to 100 Unicode characters that the backup. dwMDVersion: An integer value specifying the version number to be used for the backup. Value Meaning MD_BACKUP_HIGHEST_VERSION 0xFFFFFFFE Overwrite the highest existing backup version with the specified backup name. MD_BACKUP_NEXT_VERSION 0xFFFFFFFF Use the next backup version number available with the specified backup name. dwMDFlags: An integer value containing the bit flags describing the type of backup operation to be performed. The flags can be one or more of the following values. Value Meaning MD_BACKUP_FORCE_BACKUP 0x00000004 Force the backup even if the operation specified by MD_BACKUP_SAVE_FIRST fails. MD_BACKUP_OVERWRITE 0x00000001 Back up even if a backup of the same name and version exists, overwriting it if necessary. MD_BACKUP_SAVE_FIRST 0x00000002 Perform a SaveData operation before the backup. Return Values: A signed 32-bit that indicates return status. If the method returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see . Return value/code Description 0x00000000 S_OK The call was successful.
Index A Abstract data model client ( 71, 85, 88, 112) 85 75 88 85 71 28 server ( 28, 75, 85, 89, 94, 96, 103) 36 36 89 89 95 95 90 90 93 93 92 92 13 94 94 91 91 B 48 48 76 114 114 76 C 13 134 52 52 19 20 Client abstract data ( 71, 85, 88, 112) initialization ( 71, 85, 88, 113) 113 local events ( 75, 85, 88, 113) message processing ( 85, 88) 74 74 74 72 72 73 72 sequencing rules ( 85, 88) timer events ( 74, 85, 88, 113) timers ( 71, 85, 88, 113) 35 35 15 21 44 44 37 37 97 97 99 99 D Data model - abstract client ( 71, 85, 88, 112) 85 75 88 85 71 28 server ( 28, 75, 85, 89, 94, 96, 103) 15 15 42 42 99 99 100 100 51 51 39 39 40 40 38 38 E 20 18 50 50 101 101 77 114 114 77 46 46 Events local - client ( 75, 85, 88, 113) - server ( 71, 84, 88, 94, 96, 103, 112) timer - client ( 74, 85, 88, 113) - server ( 71, 84, 88, 94, 96, 103, 112) Examples 114
114 114 114 115 115 114 114 117 117 115 115 118 116 116 116 116 79 115 115 79 111 111 F 13 121 G 114 114 107 107 86 117 117 86 53 53 55 55 56 56 56 56 102 102 57 57 8 H 19 21 21 I 121 15 120 80 115 115 80 108 108 109 109 IMSAdminBase2W client 85 85 85 85 85 85 85 IMSAdminBase2W server 75 75 84 75 75 84 75 IMSAdminBase3W client 88 88 88 88 88 88 88 IMSAdminBase3W server 85 85 88 86 86 88 85 IMSAdminBaseW client 71 71 75 72 72 74 71 IMSAdminBaseW server 28 29 71 29 29 71 29 120 12 Initialization client ( 71, 85, 88, 113) 85 75 88 85 71 29 server ( 29, 75, 85, 89, 95, 97, 103)
InstanceName (Set) 10) method ( 105, 113) 105 8 106 106 105 105 L events client ( 75, 85, 88, 113) 85 84 88 88 75 71 server ( 71, 84, 88, 94, 96, 103, 112) M Message processing client ( 85, 88) 85 75 88 86 72 29 server ( 29, 75, 86, 89, 95, 97, 103) Messages 15 15 15 21 23 24 Methods 36 89 95 90 93 92 94 91 48 76 52 35 44 37 97 99 42 99 100 51 39 40 38 50 101 77 46 79 111 107 86 53 55 56 56 102 57 80 108 109 InstanceName (Set) 10) ( 105, 113) 106 105 34 R_EnumData (Opnum 12) ( 47, 74) R_GetAllData (Opnum 13) ( 58, 74) R_GetData (Opnum 10) ( 60, 74) 62 R_KeyExchangePhase1 (Opnum 26) ( 62, 72) R_KeyExchangePhase2 (Opnum 27) ( 64, 72) R_SetData (Opnum 9) ( 65, 73) 101 66 67 82 83 69 72 69 31 70 N 11 O 34 34 12 P 120 21 12 12 128 Protocol Details 28 16 R R_EnumData (Opnum 12) method ( 47, 74) 47 R_GetAllData 13) method ( 58, 74) 58 R_GetData (Opnum 10) method ( 60, 74) 60
62 62 R_KeyExchangePhase1 (Opnum 26) method ( 62, 72) 62 R_KeyExchangePhase2 (Opnum 27) method ( 64, 72) 64 R_SetData 9) method ( 65, 73) 65 118 101 101 11 12 11 12 66 66 67 67 82 116 116 82 83 116 116 83 S 69 69 72 Security 120 120 31 31 Sequencing rules client ( 85, 88) 85 75 88 86 72 29 server ( 29, 75, 86, 89, 95, 97, 103) Server abstract data model ( 28, 75, 85, 89, 94, 96, 103) 36 89 95 90 93 92 94 91 48 76 52 35 44 37 97 99 42 99 100 51 39 40 38 50 101 77 46 79 111 107 86 53 55 56 56 102 57 80 108 109 initialization ( 29, 75, 85, 89, 95, 97, 103) 105 106 105 local events ( 71, 84, 88, 94, 96, 103, 112) message processing ( 29, 75, 86, 89, 95, 97, 103) 34 47 58 60 62 62 64 65 101 66 67 82 83 69 sequencing rules ( 29, 75, 86, 89, 95, 97, 103) 69 timer events ( 71, 84, 88, 94, 96, 103, 112) timers ( 29, 75, 85, 89, 95, 96, 103) 31 70 17 69 69 13 T Timer events client ( 74, 85, 88, 113) 85