| 1 | 
 /** | 
 
 
 
 
 
 | 2 | 
  * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 
 | 3 | 
  * No warranty is given; refer to the file DISCLAIMER within this package. | 
 
 
 
 
 
 | 4 | 
  */ | 
 
 
 
 
 
 | 5 | 
  | 
 
 
 
 
 
 | 6 | 
 import "oaidl.idl"; | 
 
 
 
 
 
 | 7 | 
 import "ocidl.idl"; | 
 
 
 
 
 
 | 8 | 
 import "urlmon.idl"; | 
 
 
 
 
 
 | 9 | 
 import "wincrypt.idl"; | 
 
 
 
 
 
 | 10 | 
  | 
 
 
 
 
 
 | 11 | 
 cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 
 | 12 | 
  | 
 
 
 
 
 
 | 13 | 
 cpp_quote("#if NTDDI_VERSION >= 0x06010000") | 
 
 
 
 
 
 | 14 | 
 interface IOpcUri; | 
 
 
 
 
 
 | 15 | 
 interface IOpcPartUri; | 
 
 
 
 
 
 | 16 | 
  | 
 
 
 
 
 
 | 17 | 
 [object, uuid (bc9c1b9b-d62c-49eb-aef0-3b4e0b28ebed), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 18 | 
 interface IOpcUri : IUri { | 
 
 
 
 
 
 | 19 | 
   HRESULT GetRelationshipsPartUri ([out, retval] IOpcPartUri **relationshipPartUri); | 
 
 
 
 
 
 | 20 | 
   HRESULT GetRelativeUri ([in] IOpcPartUri *targetPartUri,[out, retval] IUri **relativeUri); | 
 
 
 
 
 
 | 21 | 
   HRESULT CombinePartUri ([in] IUri *relativeUri,[out, retval] IOpcPartUri **combinedUri); | 
 
 
 
 
 
 | 22 | 
 }; | 
 
 
 
 
 
 | 23 | 
  | 
 
 
 
 
 
 | 24 | 
 [object, uuid (7d3babe7-88b2-46ba-85cb-4203cb016c87), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 25 | 
 interface IOpcPartUri : IOpcUri { | 
 
 
 
 
 
 | 26 | 
   HRESULT ComparePartUri ([in] IOpcPartUri *partUri,[out, retval] INT32 *comparisonResult); | 
 
 
 
 
 
 | 27 | 
   HRESULT GetSourceUri ([out, retval] IOpcUri **sourceUri); | 
 
 
 
 
 
 | 28 | 
   HRESULT IsRelationshipsPartUri ([out, retval] BOOL *isRelationshipUri); | 
 
 
 
 
 
 | 29 | 
 }; | 
 
 
 
 
 
 | 30 | 
  | 
 
 
 
 
 
 | 31 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 
 | 32 | 
 cpp_quote("#define IS_OPC_CONFORMANCE_ERROR(x) (((x) & 0x1ffff000) == (0x0000 + (FACILITY_OPC << 16)))") | 
 
 
 
 
 
 | 33 | 
 cpp_quote("#define IS_ZIP_CONFORMANCE_ERROR(x) (((x) & 0x1ffff000) == (0x1000 + (FACILITY_OPC << 16)))") | 
 
 
 
 
 
 | 34 | 
  | 
 
 
 
 
 
 | 35 | 
 cpp_quote("#define OPC_E_NONCONFORMING_URI MAKE_HRESULT(1, FACILITY_OPC, 0x1)") | 
 
 
 
 
 
 | 36 | 
 cpp_quote("#define OPC_E_RELATIVE_URI_REQUIRED MAKE_HRESULT(1, FACILITY_OPC, 0x2)") | 
 
 
 
 
 
 | 37 | 
 cpp_quote("#define OPC_E_RELATIONSHIP_URI_REQUIRED MAKE_HRESULT(1, FACILITY_OPC, 0x3)") | 
 
 
 
 
 
 | 38 | 
 cpp_quote("#define OPC_E_PART_CANNOT_BE_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x4)") | 
 
 
 
 
 
 | 39 | 
 cpp_quote("#define OPC_E_UNEXPECTED_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x5)") | 
 
 
 
 
 
 | 40 | 
 cpp_quote("#define OPC_E_INVALID_CONTENT_TYPE_XML MAKE_HRESULT(1, FACILITY_OPC, 0x6)") | 
 
 
 
 
 
 | 41 | 
 cpp_quote("#define OPC_E_MISSING_CONTENT_TYPES MAKE_HRESULT(1, FACILITY_OPC, 0x7)") | 
 
 
 
 
 
 | 42 | 
 cpp_quote("#define OPC_E_NONCONFORMING_CONTENT_TYPES_XML MAKE_HRESULT(1, FACILITY_OPC, 0x8)") | 
 
 
 
 
 
 | 43 | 
 cpp_quote("#define OPC_E_NONCONFORMING_RELS_XML MAKE_HRESULT(1, FACILITY_OPC, 0x9)") | 
 
 
 
 
 
 | 44 | 
 cpp_quote("#define OPC_E_INVALID_RELS_XML MAKE_HRESULT(1, FACILITY_OPC, 0xa)") | 
 
 
 
 
 
 | 45 | 
 cpp_quote("#define OPC_E_DUPLICATE_PART MAKE_HRESULT(1, FACILITY_OPC, 0xb)") | 
 
 
 
 
 
 | 46 | 
 cpp_quote("#define OPC_E_INVALID_OVERRIDE_PART_NAME MAKE_HRESULT(1, FACILITY_OPC, 0xc)") | 
 
 
 
 
 
 | 47 | 
 cpp_quote("#define OPC_E_DUPLICATE_OVERRIDE_PART MAKE_HRESULT(1, FACILITY_OPC, 0xd)") | 
 
 
 
 
 
 | 48 | 
 cpp_quote("#define OPC_E_INVALID_DEFAULT_EXTENSION MAKE_HRESULT(1, FACILITY_OPC, 0xe)") | 
 
 
 
 
 
 | 49 | 
 cpp_quote("#define OPC_E_DUPLICATE_DEFAULT_EXTENSION MAKE_HRESULT(1, FACILITY_OPC, 0xf)") | 
 
 
 
 
 
 | 50 | 
 cpp_quote("#define OPC_E_INVALID_RELATIONSHIP_ID MAKE_HRESULT(1, FACILITY_OPC, 0x10)") | 
 
 
 
 
 
 | 51 | 
 cpp_quote("#define OPC_E_INVALID_RELATIONSHIP_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x11)") | 
 
 
 
 
 
 | 52 | 
 cpp_quote("#define OPC_E_INVALID_RELATIONSHIP_TARGET MAKE_HRESULT(1, FACILITY_OPC, 0x12)") | 
 
 
 
 
 
 | 53 | 
 cpp_quote("#define OPC_E_DUPLICATE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x13)") | 
 
 
 
 
 
 | 54 | 
 cpp_quote("#define OPC_E_CONFLICTING_SETTINGS MAKE_HRESULT(1, FACILITY_OPC, 0x14)") | 
 
 
 
 
 
 | 55 | 
 cpp_quote("#define OPC_E_DUPLICATE_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x15)") | 
 
 
 
 
 
 | 56 | 
 cpp_quote("#define OPC_E_INVALID_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x16)") | 
 
 
 
 
 
 | 57 | 
 cpp_quote("#define OPC_E_MISSING_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x17)") | 
 
 
 
 
 
 | 58 | 
 cpp_quote("#define OPC_E_NO_SUCH_PART MAKE_HRESULT(1, FACILITY_OPC, 0x18)") | 
 
 
 
 
 
 | 59 | 
 cpp_quote("#define OPC_E_DS_SIGNATURE_CORRUPT MAKE_HRESULT(1, FACILITY_OPC, 0x19)") | 
 
 
 
 
 
 | 60 | 
 cpp_quote("#define OPC_E_DS_DIGEST_VALUE_ERROR MAKE_HRESULT(1, FACILITY_OPC, 0x1a)") | 
 
 
 
 
 
 | 61 | 
 cpp_quote("#define OPC_E_DS_DUPLICATE_SIGNATURE_ORIGIN_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1b)") | 
 
 
 
 
 
 | 62 | 
 cpp_quote("#define OPC_E_DS_INVALID_SIGNATURE_ORIGIN_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1c)") | 
 
 
 
 
 
 | 63 | 
 cpp_quote("#define OPC_E_DS_INVALID_CERTIFICATE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1d)") | 
 
 
 
 
 
 | 64 | 
 cpp_quote("#define OPC_E_DS_EXTERNAL_SIGNATURE MAKE_HRESULT(1, FACILITY_OPC, 0x1e)") | 
 
 
 
 
 
 | 65 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_ORIGIN_PART MAKE_HRESULT(1, FACILITY_OPC, 0x1f)") | 
 
 
 
 
 
 | 66 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_PART MAKE_HRESULT(1, FACILITY_OPC, 0x20)") | 
 
 
 
 
 
 | 67 | 
 cpp_quote("#define OPC_E_DS_INVALID_RELATIONSHIP_TRANSFORM_XML MAKE_HRESULT(1, FACILITY_OPC, 0x21)") | 
 
 
 
 
 
 | 68 | 
 cpp_quote("#define OPC_E_DS_INVALID_CANONICALIZATION_METHOD MAKE_HRESULT(1, FACILITY_OPC, 0x22)") | 
 
 
 
 
 
 | 69 | 
 cpp_quote("#define OPC_E_DS_INVALID_RELATIONSHIPS_SIGNING_OPTION MAKE_HRESULT(1, FACILITY_OPC, 0x23)") | 
 
 
 
 
 
 | 70 | 
 cpp_quote("#define OPC_E_DS_INVALID_OPC_SIGNATURE_TIME_FORMAT MAKE_HRESULT(1, FACILITY_OPC, 0x24)") | 
 
 
 
 
 
 | 71 | 
 cpp_quote("#define OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED MAKE_HRESULT(1, FACILITY_OPC, 0x25)") | 
 
 
 
 
 
 | 72 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_PROPERTIES_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x26)") | 
 
 
 
 
 
 | 73 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_PROPERTY_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x27)") | 
 
 
 
 
 
 | 74 | 
 cpp_quote("#define OPC_E_DS_DUPLICATE_SIGNATURE_PROPERTY_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x28)") | 
 
 
 
 
 
 | 75 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_TIME_PROPERTY MAKE_HRESULT(1, FACILITY_OPC, 0x29)") | 
 
 
 
 
 
 | 76 | 
 cpp_quote("#define OPC_E_DS_INVALID_SIGNATURE_XML MAKE_HRESULT(1, FACILITY_OPC, 0x2a)") | 
 
 
 
 
 
 | 77 | 
 cpp_quote("#define OPC_E_DS_INVALID_SIGNATURE_COUNT MAKE_HRESULT(1, FACILITY_OPC, 0x2b)") | 
 
 
 
 
 
 | 78 | 
 cpp_quote("#define OPC_E_DS_MISSING_SIGNATURE_ALGORITHM MAKE_HRESULT(1, FACILITY_OPC, 0x2c)") | 
 
 
 
 
 
 | 79 | 
 cpp_quote("#define OPC_E_DS_DUPLICATE_PACKAGE_OBJECT_REFERENCES MAKE_HRESULT(1, FACILITY_OPC, 0x2d)") | 
 
 
 
 
 
 | 80 | 
 cpp_quote("#define OPC_E_DS_MISSING_PACKAGE_OBJECT_REFERENCE MAKE_HRESULT(1, FACILITY_OPC, 0x2e)") | 
 
 
 
 
 
 | 81 | 
 cpp_quote("#define OPC_E_DS_EXTERNAL_SIGNATURE_REFERENCE MAKE_HRESULT(1, FACILITY_OPC, 0x2f)") | 
 
 
 
 
 
 | 82 | 
 cpp_quote("#define OPC_E_DS_REFERENCE_MISSING_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x30)") | 
 
 
 
 
 
 | 83 | 
 cpp_quote("#define OPC_E_DS_MULTIPLE_RELATIONSHIP_TRANSFORMS MAKE_HRESULT(1, FACILITY_OPC, 0x31)") | 
 
 
 
 
 
 | 84 | 
 cpp_quote("#define OPC_E_DS_MISSING_CANONICALIZATION_TRANSFORM MAKE_HRESULT(1, FACILITY_OPC, 0x32)") | 
 
 
 
 
 
 | 85 | 
 cpp_quote("#define OPC_E_MC_UNEXPECTED_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x33)") | 
 
 
 
 
 
 | 86 | 
 cpp_quote("#define OPC_E_MC_UNEXPECTED_REQUIRES_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x34)") | 
 
 
 
 
 
 | 87 | 
 cpp_quote("#define OPC_E_MC_MISSING_REQUIRES_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x35)") | 
 
 
 
 
 
 | 88 | 
 cpp_quote("#define OPC_E_MC_UNEXPECTED_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x36)") | 
 
 
 
 
 
 | 89 | 
 cpp_quote("#define OPC_E_MC_INVALID_PREFIX_LIST MAKE_HRESULT(1, FACILITY_OPC, 0x37)") | 
 
 
 
 
 
 | 90 | 
 cpp_quote("#define OPC_E_MC_INVALID_QNAME_LIST MAKE_HRESULT(1, FACILITY_OPC, 0x38)") | 
 
 
 
 
 
 | 91 | 
 cpp_quote("#define OPC_E_MC_NESTED_ALTERNATE_CONTENT MAKE_HRESULT(1, FACILITY_OPC, 0x39)") | 
 
 
 
 
 
 | 92 | 
 cpp_quote("#define OPC_E_MC_UNEXPECTED_CHOICE MAKE_HRESULT(1, FACILITY_OPC, 0x3a)") | 
 
 
 
 
 
 | 93 | 
 cpp_quote("#define OPC_E_MC_MISSING_CHOICE MAKE_HRESULT(1, FACILITY_OPC, 0x3b)") | 
 
 
 
 
 
 | 94 | 
 cpp_quote("#define OPC_E_MC_INVALID_ENUM_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x3c)") | 
 
 
 
 
 
 | 95 | 
 cpp_quote("#define OPC_E_MC_UNKNOWN_NAMESPACE MAKE_HRESULT(1, FACILITY_OPC, 0x3e)") | 
 
 
 
 
 
 | 96 | 
 cpp_quote("#define OPC_E_MC_UNKNOWN_PREFIX MAKE_HRESULT(1, FACILITY_OPC, 0x3f)") | 
 
 
 
 
 
 | 97 | 
 cpp_quote("#define OPC_E_MC_INVALID_ATTRIBUTES_ON_IGNORABLE_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x40)") | 
 
 
 
 
 
 | 98 | 
 cpp_quote("#define OPC_E_MC_INVALID_XMLNS_ATTRIBUTE MAKE_HRESULT(1, FACILITY_OPC, 0x41)") | 
 
 
 
 
 
 | 99 | 
 cpp_quote("#define OPC_E_INVALID_XML_ENCODING MAKE_HRESULT(1, FACILITY_OPC, 0x42)") | 
 
 
 
 
 
 | 100 | 
 cpp_quote("#define OPC_E_DS_SIGNATURE_REFERENCE_MISSING_URI MAKE_HRESULT(1, FACILITY_OPC, 0x43)") | 
 
 
 
 
 
 | 101 | 
 cpp_quote("#define OPC_E_INVALID_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x44)") | 
 
 
 
 
 
 | 102 | 
 cpp_quote("#define OPC_E_DS_SIGNATURE_PROPERTY_MISSING_TARGET MAKE_HRESULT(1, FACILITY_OPC, 0x45)") | 
 
 
 
 
 
 | 103 | 
 cpp_quote("#define OPC_E_DS_SIGNATURE_METHOD_NOT_SET MAKE_HRESULT(1, FACILITY_OPC, 0x46)") | 
 
 
 
 
 
 | 104 | 
 cpp_quote("#define OPC_E_DS_DEFAULT_DIGEST_METHOD_NOT_SET MAKE_HRESULT(1, FACILITY_OPC, 0x47)") | 
 
 
 
 
 
 | 105 | 
 cpp_quote("#define OPC_E_NO_SUCH_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x48)") | 
 
 
 
 
 
 | 106 | 
 cpp_quote("#define OPC_E_MC_MULTIPLE_FALLBACK_ELEMENTS MAKE_HRESULT(1, FACILITY_OPC, 0x49)") | 
 
 
 
 
 
 | 107 | 
 cpp_quote("#define OPC_E_MC_INCONSISTENT_PROCESS_CONTENT MAKE_HRESULT(1, FACILITY_OPC, 0x4a)") | 
 
 
 
 
 
 | 108 | 
 cpp_quote("#define OPC_E_MC_INCONSISTENT_PRESERVE_ATTRIBUTES MAKE_HRESULT(1, FACILITY_OPC, 0x4b)") | 
 
 
 
 
 
 | 109 | 
 cpp_quote("#define OPC_E_MC_INCONSISTENT_PRESERVE_ELEMENTS MAKE_HRESULT(1, FACILITY_OPC, 0x4c)") | 
 
 
 
 
 
 | 110 | 
 cpp_quote("#define OPC_E_INVALID_RELATIONSHIP_TARGET_MODE MAKE_HRESULT(1, FACILITY_OPC, 0x4d)") | 
 
 
 
 
 
 | 111 | 
 cpp_quote("#define OPC_E_COULD_NOT_RECOVER MAKE_HRESULT(1, FACILITY_OPC, 0x4e)") | 
 
 
 
 
 
 | 112 | 
 cpp_quote("#define OPC_E_UNSUPPORTED_PACKAGE MAKE_HRESULT(1, FACILITY_OPC, 0x4f)") | 
 
 
 
 
 
 | 113 | 
 cpp_quote("#define OPC_E_ENUM_COLLECTION_CHANGED MAKE_HRESULT(1, FACILITY_OPC, 0x50)") | 
 
 
 
 
 
 | 114 | 
 cpp_quote("#define OPC_E_ENUM_CANNOT_MOVE_NEXT MAKE_HRESULT(1, FACILITY_OPC, 0x51)") | 
 
 
 
 
 
 | 115 | 
 cpp_quote("#define OPC_E_ENUM_CANNOT_MOVE_PREVIOUS MAKE_HRESULT(1, FACILITY_OPC, 0x52)") | 
 
 
 
 
 
 | 116 | 
 cpp_quote("#define OPC_E_ENUM_INVALID_POSITION MAKE_HRESULT(1, FACILITY_OPC, 0x53)") | 
 
 
 
 
 
 | 117 | 
 cpp_quote("#define OPC_E_DS_SIGNATURE_ORIGIN_EXISTS MAKE_HRESULT(1, FACILITY_OPC, 0x54)") | 
 
 
 
 
 
 | 118 | 
 cpp_quote("#define OPC_E_DS_UNSIGNED_PACKAGE MAKE_HRESULT(1, FACILITY_OPC, 0x55)") | 
 
 
 
 
 
 | 119 | 
 cpp_quote("#define OPC_E_DS_MISSING_CERTIFICATE_PART MAKE_HRESULT(1, FACILITY_OPC, 0x56)") | 
 
 
 
 
 
 | 120 | 
 cpp_quote("#define OPC_E_NO_SUCH_SETTINGS MAKE_HRESULT(1, FACILITY_OPC, 0x57)") | 
 
 
 
 
 
 | 121 | 
 cpp_quote("#define OPC_E_ZIP_INCORRECT_DATA_SIZE MAKE_HRESULT(1, FACILITY_OPC, 0x1001)") | 
 
 
 
 
 
 | 122 | 
 cpp_quote("#define OPC_E_ZIP_CORRUPTED_ARCHIVE MAKE_HRESULT(1, FACILITY_OPC, 0x1002)") | 
 
 
 
 
 
 | 123 | 
 cpp_quote("#define OPC_E_ZIP_COMPRESSION_FAILED MAKE_HRESULT(1, FACILITY_OPC, 0x1003)") | 
 
 
 
 
 
 | 124 | 
 cpp_quote("#define OPC_E_ZIP_DECOMPRESSION_FAILED MAKE_HRESULT(1, FACILITY_OPC, 0x1004)") | 
 
 
 
 
 
 | 125 | 
 cpp_quote("#define OPC_E_ZIP_INCONSISTENT_FILEITEM MAKE_HRESULT(1, FACILITY_OPC, 0x1005)") | 
 
 
 
 
 
 | 126 | 
 cpp_quote("#define OPC_E_ZIP_INCONSISTENT_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x1006)") | 
 
 
 
 
 
 | 127 | 
 cpp_quote("#define OPC_E_ZIP_MISSING_DATA_DESCRIPTOR MAKE_HRESULT(1, FACILITY_OPC, 0x1007)") | 
 
 
 
 
 
 | 128 | 
 cpp_quote("#define OPC_E_ZIP_UNSUPPORTEDARCHIVE MAKE_HRESULT(1, FACILITY_OPC, 0x1008)") | 
 
 
 
 
 
 | 129 | 
 cpp_quote("#define OPC_E_ZIP_CENTRAL_DIRECTORY_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x1009)") | 
 
 
 
 
 
 | 130 | 
 cpp_quote("#define OPC_E_ZIP_NAME_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100a)") | 
 
 
 
 
 
 | 131 | 
 cpp_quote("#define OPC_E_ZIP_DUPLICATE_NAME MAKE_HRESULT(1, FACILITY_OPC, 0x100b)") | 
 
 
 
 
 
 | 132 | 
 cpp_quote("#define OPC_E_ZIP_COMMENT_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100c)") | 
 
 
 
 
 
 | 133 | 
 cpp_quote("#define OPC_E_ZIP_EXTRA_FIELDS_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100d)") | 
 
 
 
 
 
 | 134 | 
 cpp_quote("#define OPC_E_ZIP_FILE_HEADER_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100e)") | 
 
 
 
 
 
 | 135 | 
 cpp_quote("#define OPC_E_ZIP_MISSING_END_OF_CENTRAL_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x100f)") | 
 
 
 
 
 
 | 136 | 
 cpp_quote("#define OPC_E_ZIP_REQUIRES_64_BIT MAKE_HRESULT(1, FACILITY_OPC, 0x1010)") | 
 
 
 
 
 
 | 137 | 
  | 
 
 
 
 
 
 | 138 | 
 [uuid (3d8d6062-2749-442b-9e32-E40EF801A766), version (1.0), lcid (0x0)] | 
 
 
 
 
 
 | 139 | 
 library MSOPC { | 
 
 
 
 
 
 | 140 | 
   interface IOpcCertificateEnumerator; | 
 
 
 
 
 
 | 141 | 
   interface IOpcCertificateSet; | 
 
 
 
 
 
 | 142 | 
   interface IOpcDigitalSignature; | 
 
 
 
 
 
 | 143 | 
   interface IOpcDigitalSignatureEnumerator; | 
 
 
 
 
 
 | 144 | 
   interface IOpcDigitalSignatureManager; | 
 
 
 
 
 
 | 145 | 
   interface IOpcPackage; | 
 
 
 
 
 
 | 146 | 
   interface IOpcPart; | 
 
 
 
 
 
 | 147 | 
   interface IOpcPartEnumerator; | 
 
 
 
 
 
 | 148 | 
   interface IOpcPartSet; | 
 
 
 
 
 
 | 149 | 
   interface IOpcPartUri; | 
 
 
 
 
 
 | 150 | 
   interface IOpcRelationship; | 
 
 
 
 
 
 | 151 | 
   interface IOpcRelationshipEnumerator; | 
 
 
 
 
 
 | 152 | 
   interface IOpcRelationshipSelector; | 
 
 
 
 
 
 | 153 | 
   interface IOpcRelationshipSelectorSet; | 
 
 
 
 
 
 | 154 | 
   interface IOpcRelationshipSet; | 
 
 
 
 
 
 | 155 | 
   interface IOpcSigningOptions; | 
 
 
 
 
 
 | 156 | 
   interface IOpcSignatureCustomObject; | 
 
 
 
 
 
 | 157 | 
   interface IOpcSignatureCustomObjectSet; | 
 
 
 
 
 
 | 158 | 
   interface IOpcSignaturePartReference; | 
 
 
 
 
 
 | 159 | 
   interface IOpcSignaturePartReferenceEnumerator; | 
 
 
 
 
 
 | 160 | 
   interface IOpcSignaturePartReferenceSet; | 
 
 
 
 
 
 | 161 | 
   interface IOpcSignatureReference; | 
 
 
 
 
 
 | 162 | 
   interface IOpcSignatureReferenceSet; | 
 
 
 
 
 
 | 163 | 
   interface IOpcSignatureRelationshipReference; | 
 
 
 
 
 
 | 164 | 
   interface IOpcSignatureRelationshipReferenceEnumerator; | 
 
 
 
 
 
 | 165 | 
   interface IOpcSignatureRelationshipReferenceSet; | 
 
 
 
 
 
 | 166 | 
   interface IOpcRelationshipSelectorEnumerator; | 
 
 
 
 
 
 | 167 | 
   interface IOpcSignatureReferenceEnumerator; | 
 
 
 
 
 
 | 168 | 
   interface IOpcSignatureCustomObjectEnumerator; | 
 
 
 
 
 
 | 169 | 
   interface IOpcUri; | 
 
 
 
 
 
 | 170 | 
  | 
 
 
 
 
 
 | 171 | 
   typedef enum { | 
 
 
 
 
 
 | 172 | 
     OPC_CANONICALIZATION_NONE = 0, | 
 
 
 
 
 
 | 173 | 
     OPC_CANONICALIZATION_C14N = 1, | 
 
 
 
 
 
 | 174 | 
     OPC_CANONICALIZATION_C14N_WITH_COMMENTS = 2 | 
 
 
 
 
 
 | 175 | 
   } OPC_CANONICALIZATION_METHOD; | 
 
 
 
 
 
 | 176 | 
  | 
 
 
 
 
 
 | 177 | 
   typedef enum { | 
 
 
 
 
 
 | 178 | 
     OPC_CERTIFICATE_IN_CERTIFICATE_PART = 0, | 
 
 
 
 
 
 | 179 | 
     OPC_CERTIFICATE_IN_SIGNATURE_PART = 1, | 
 
 
 
 
 
 | 180 | 
     OPC_CERTIFICATE_NOT_EMBEDDED = 2 | 
 
 
 
 
 
 | 181 | 
   } OPC_CERTIFICATE_EMBEDDING_OPTION; | 
 
 
 
 
 
 | 182 | 
  | 
 
 
 
 
 
 | 183 | 
  | 
 
 
 
 
 
 | 184 | 
   typedef [v1_enum] enum { | 
 
 
 
 
 
 | 185 | 
     OPC_COMPRESSION_NONE = -1, | 
 
 
 
 
 
 | 186 | 
     OPC_COMPRESSION_NORMAL = 0, | 
 
 
 
 
 
 | 187 | 
     OPC_COMPRESSION_MAXIMUM = 1, | 
 
 
 
 
 
 | 188 | 
     OPC_COMPRESSION_FAST = 2, | 
 
 
 
 
 
 | 189 | 
     OPC_COMPRESSION_SUPERFAST = 3 | 
 
 
 
 
 
 | 190 | 
   } OPC_COMPRESSION_OPTIONS; | 
 
 
 
 
 
 | 191 | 
  | 
 
 
 
 
 
 | 192 | 
   typedef [v1_enum] enum { | 
 
 
 
 
 
 | 193 | 
     OPC_READ_DEFAULT = 0x0, | 
 
 
 
 
 
 | 194 | 
     OPC_VALIDATE_ON_LOAD = 0x1, | 
 
 
 
 
 
 | 195 | 
     OPC_CACHE_ON_ACCESS = 0x2 | 
 
 
 
 
 
 | 196 | 
   } OPC_READ_FLAGS; | 
 
 
 
 
 
 | 197 | 
  | 
 
 
 
 
 
 | 198 | 
   typedef enum { | 
 
 
 
 
 
 | 199 | 
     OPC_RELATIONSHIP_SELECT_BY_ID = 0, | 
 
 
 
 
 
 | 200 | 
     OPC_RELATIONSHIP_SELECT_BY_TYPE = 1, | 
 
 
 
 
 
 | 201 | 
   } OPC_RELATIONSHIP_SELECTOR; | 
 
 
 
 
 
 | 202 | 
  | 
 
 
 
 
 
 | 203 | 
   typedef enum { | 
 
 
 
 
 
 | 204 | 
     OPC_RELATIONSHIP_SIGN_USING_SELECTORS = 0, | 
 
 
 
 
 
 | 205 | 
     OPC_RELATIONSHIP_SIGN_PART = 1 | 
 
 
 
 
 
 | 206 | 
   } OPC_RELATIONSHIPS_SIGNING_OPTION; | 
 
 
 
 
 
 | 207 | 
  | 
 
 
 
 
 
 | 208 | 
   typedef enum OPC_SIGNATURE_VALIDATION_RESULT { | 
 
 
 
 
 
 | 209 | 
     OPC_SIGNATURE_VALID = 0, | 
 
 
 
 
 
 | 210 | 
     OPC_SIGNATURE_INVALID = -1, | 
 
 
 
 
 
 | 211 | 
   } OPC_SIGNATURE_VALIDATION_RESULT; | 
 
 
 
 
 
 | 212 | 
  | 
 
 
 
 
 
 | 213 | 
   typedef enum { | 
 
 
 
 
 
 | 214 | 
     OPC_SIGNATURE_TIME_FORMAT_MILLISECONDS = 0, | 
 
 
 
 
 
 | 215 | 
     OPC_SIGNATURE_TIME_FORMAT_SECONDS = 1, | 
 
 
 
 
 
 | 216 | 
     OPC_SIGNATURE_TIME_FORMAT_MINUTES = 2, | 
 
 
 
 
 
 | 217 | 
     OPC_SIGNATURE_TIME_FORMAT_DAYS = 3, | 
 
 
 
 
 
 | 218 | 
     OPC_SIGNATURE_TIME_FORMAT_MONTHS = 4, | 
 
 
 
 
 
 | 219 | 
     OPC_SIGNATURE_TIME_FORMAT_YEARS = 5 | 
 
 
 
 
 
 | 220 | 
   } OPC_SIGNATURE_TIME_FORMAT; | 
 
 
 
 
 
 | 221 | 
  | 
 
 
 
 
 
 | 222 | 
   typedef [v1_enum] enum { | 
 
 
 
 
 
 | 223 | 
     OPC_STREAM_IO_READ = 1, | 
 
 
 
 
 
 | 224 | 
     OPC_STREAM_IO_WRITE = 2 | 
 
 
 
 
 
 | 225 | 
   } OPC_STREAM_IO_MODE; | 
 
 
 
 
 
 | 226 | 
  | 
 
 
 
 
 
 | 227 | 
   typedef [v1_enum] enum { | 
 
 
 
 
 
 | 228 | 
     OPC_URI_TARGET_MODE_INTERNAL = 0, | 
 
 
 
 
 
 | 229 | 
     OPC_URI_TARGET_MODE_EXTERNAL = 1 | 
 
 
 
 
 
 | 230 | 
   } OPC_URI_TARGET_MODE; | 
 
 
 
 
 
 | 231 | 
  | 
 
 
 
 
 
 | 232 | 
   typedef [v1_enum] enum { | 
 
 
 
 
 
 | 233 | 
     OPC_WRITE_DEFAULT = 0x0, | 
 
 
 
 
 
 | 234 | 
     OPC_WRITE_FORCE_ZIP32 = 0x1 | 
 
 
 
 
 
 | 235 | 
   } OPC_WRITE_FLAGS; | 
 
 
 
 
 
 | 236 | 
  | 
 
 
 
 
 
 | 237 | 
 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(OPC_READ_FLAGS);") | 
 
 
 
 
 
 | 238 | 
 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(OPC_WRITE_FLAGS);") | 
 
 
 
 
 
 | 239 | 
  | 
 
 
 
 
 
 | 240 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE71), pointer_default (ref)] | 
 
 
 
 
 
 | 241 | 
   interface IOpcPart : IUnknown { | 
 
 
 
 
 
 | 242 | 
     HRESULT GetRelationshipSet ([out, retval] IOpcRelationshipSet **relationshipSet); | 
 
 
 
 
 
 | 243 | 
     HRESULT GetContentStream ([out, retval] IStream **stream); | 
 
 
 
 
 
 | 244 | 
     HRESULT GetName ([out, retval] IOpcPartUri **name); | 
 
 
 
 
 
 | 245 | 
     HRESULT GetContentType ([out, string, retval] LPWSTR *contentType); | 
 
 
 
 
 
 | 246 | 
     HRESULT GetCompressionOptions ([out, retval] OPC_COMPRESSION_OPTIONS *compressionOptions); | 
 
 
 
 
 
 | 247 | 
   } | 
 
 
 
 
 
 | 248 | 
  | 
 
 
 
 
 
 | 249 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE75), pointer_default (ref)] | 
 
 
 
 
 
 | 250 | 
   interface IOpcPartEnumerator : IUnknown { | 
 
 
 
 
 
 | 251 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 252 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 253 | 
     HRESULT GetCurrent ([out, retval] IOpcPart **part); | 
 
 
 
 
 
 | 254 | 
     HRESULT Clone ([out, retval] IOpcPartEnumerator **copy); | 
 
 
 
 
 
 | 255 | 
   } | 
 
 
 
 
 
 | 256 | 
  | 
 
 
 
 
 
 | 257 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE73), pointer_default (ref)] | 
 
 
 
 
 
 | 258 | 
   interface IOpcPartSet : IUnknown { | 
 
 
 
 
 
 | 259 | 
     HRESULT GetPart ([in] IOpcPartUri *name,[out, retval] IOpcPart **part); | 
 
 
 
 
 
 | 260 | 
     HRESULT CreatePart ([in] IOpcPartUri *name,[in, string] LPCWSTR contentType,[in] OPC_COMPRESSION_OPTIONS compressionOptions,[out, retval] IOpcPart **part); | 
 
 
 
 
 
 | 261 | 
     HRESULT DeletePart ([in] IOpcPartUri *name); | 
 
 
 
 
 
 | 262 | 
     HRESULT PartExists ([in] IOpcPartUri *name,[out, retval] BOOL *partExists); | 
 
 
 
 
 
 | 263 | 
     HRESULT GetEnumerator ([out, retval] IOpcPartEnumerator **partEnumerator); | 
 
 
 
 
 
 | 264 | 
   } | 
 
 
 
 
 
 | 265 | 
  | 
 
 
 
 
 
 | 266 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE70), pointer_default (ref)] | 
 
 
 
 
 
 | 267 | 
   interface IOpcPackage : IUnknown { | 
 
 
 
 
 
 | 268 | 
     HRESULT GetPartSet ([out, retval] IOpcPartSet **partSet); | 
 
 
 
 
 
 | 269 | 
     HRESULT GetRelationshipSet ([out, retval] IOpcRelationshipSet **relationshipSet); | 
 
 
 
 
 
 | 270 | 
   } | 
 
 
 
 
 
 | 271 | 
  | 
 
 
 
 
 
 | 272 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE72), pointer_default (ref)] | 
 
 
 
 
 
 | 273 | 
   interface IOpcRelationship : IUnknown { | 
 
 
 
 
 
 | 274 | 
     HRESULT GetId ([out, string, retval] LPWSTR *relationshipIdentifier); | 
 
 
 
 
 
 | 275 | 
     HRESULT GetRelationshipType ([out, string, retval] LPWSTR *relationshipType); | 
 
 
 
 
 
 | 276 | 
     HRESULT GetSourceUri ([out, retval] IOpcUri **sourceUri); | 
 
 
 
 
 
 | 277 | 
     HRESULT GetTargetUri ([out, retval] IUri **targetUri); | 
 
 
 
 
 
 | 278 | 
     HRESULT GetTargetMode ([out, retval] OPC_URI_TARGET_MODE *targetMode); | 
 
 
 
 
 
 | 279 | 
   } | 
 
 
 
 
 
 | 280 | 
  | 
 
 
 
 
 
 | 281 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE76), pointer_default (ref)] | 
 
 
 
 
 
 | 282 | 
   interface IOpcRelationshipEnumerator : IUnknown { | 
 
 
 
 
 
 | 283 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 284 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 285 | 
     HRESULT GetCurrent ([out, retval] IOpcRelationship **relationship); | 
 
 
 
 
 
 | 286 | 
     HRESULT Clone ([out, retval] IOpcRelationshipEnumerator **copy); | 
 
 
 
 
 
 | 287 | 
   } | 
 
 
 
 
 
 | 288 | 
  | 
 
 
 
 
 
 | 289 | 
   [object, uuid (f8f26c7f-b28f-4899-84c8-5d5639ede75f), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 290 | 
   interface IOpcRelationshipSelector : IUnknown { | 
 
 
 
 
 
 | 291 | 
     HRESULT GetSelectorType ([out, retval] OPC_RELATIONSHIP_SELECTOR *selector); | 
 
 
 
 
 
 | 292 | 
     HRESULT GetSelectionCriterion ([out, string, retval] LPWSTR *selectionCriterion); | 
 
 
 
 
 
 | 293 | 
   } | 
 
 
 
 
 
 | 294 | 
  | 
 
 
 
 
 
 | 295 | 
   [object, uuid (42195949-3b79-4fc8-89c6-FC7FB979EE74), pointer_default (ref)] | 
 
 
 
 
 
 | 296 | 
   interface IOpcRelationshipSet : IUnknown { | 
 
 
 
 
 
 | 297 | 
     HRESULT GetRelationship ([in, string] LPCWSTR relationshipIdentifier,[out, retval] IOpcRelationship **relationship); | 
 
 
 
 
 
 | 298 | 
     HRESULT CreateRelationship ([in, string, unique] LPCWSTR relationshipIdentifier,[in, string] LPCWSTR relationshipType,[in] IUri *targetUri,[in] OPC_URI_TARGET_MODE targetMode,[out, retval] IOpcRelationship **relationship); | 
 
 
 
 
 
 | 299 | 
     HRESULT DeleteRelationship ([in, string] LPCWSTR relationshipIdentifier); | 
 
 
 
 
 
 | 300 | 
     HRESULT RelationshipExists ([in, string] LPCWSTR relationshipIdentifier,[out, retval] BOOL *relationshipExists); | 
 
 
 
 
 
 | 301 | 
     HRESULT GetEnumerator ([out, retval] IOpcRelationshipEnumerator **relationshipEnumerator); | 
 
 
 
 
 
 | 302 | 
     HRESULT GetEnumeratorForType ([in, string] LPCWSTR relationshipType,[out, retval] IOpcRelationshipEnumerator **relationshipEnumerator); | 
 
 
 
 
 
 | 303 | 
     HRESULT GetRelationshipsContentStream ([out, retval] IStream **contents); | 
 
 
 
 
 
 | 304 | 
   } | 
 
 
 
 
 
 | 305 | 
  | 
 
 
 
 
 
 | 306 | 
   [object, uuid (5d77a19e-62c1-44e7-becd-45da5ae51a56), nonextensible, pointer_default (unique)] | 
 
 
 
 
 
 | 307 | 
   interface IOpcSignatureCustomObject : IUnknown { | 
 
 
 
 
 
 | 308 | 
     HRESULT GetXml ([out, size_is (,*count)] UINT8 **xmlMarkup,[out] UINT32 *count); | 
 
 
 
 
 
 | 309 | 
   } | 
 
 
 
 
 
 | 310 | 
  | 
 
 
 
 
 
 | 311 | 
   [object, uuid (5ee4fe1d-e1b0-4683-8079-7ea0fcf80b4c), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 312 | 
   interface IOpcSignatureCustomObjectEnumerator : IUnknown { | 
 
 
 
 
 
 | 313 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 314 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 315 | 
     HRESULT GetCurrent ([out, retval] IOpcSignatureCustomObject **customObject); | 
 
 
 
 
 
 | 316 | 
     HRESULT Clone ([out, retval] IOpcSignatureCustomObjectEnumerator **copy); | 
 
 
 
 
 
 | 317 | 
   }; | 
 
 
 
 
 
 | 318 | 
  | 
 
 
 
 
 
 | 319 | 
   [object, uuid (e24231ca-59f4-484e-b64b-36eeda36072c), nonextensible, pointer_default (unique)] | 
 
 
 
 
 
 | 320 | 
   interface IOpcSignaturePartReference : IUnknown { | 
 
 
 
 
 
 | 321 | 
     HRESULT GetPartName ([out, retval] IOpcPartUri **partName); | 
 
 
 
 
 
 | 322 | 
     HRESULT GetContentType ([out, string, retval] LPWSTR *contentType); | 
 
 
 
 
 
 | 323 | 
     HRESULT GetDigestMethod ([out, string, retval] LPWSTR *digestMethod); | 
 
 
 
 
 
 | 324 | 
     HRESULT GetDigestValue ([out, size_is (,*count)] UINT8 **digestValue,[out] UINT32 *count); | 
 
 
 
 
 
 | 325 | 
     HRESULT GetTransformMethod ([out, retval] OPC_CANONICALIZATION_METHOD *transformMethod); | 
 
 
 
 
 
 | 326 | 
   } | 
 
 
 
 
 
 | 327 | 
  | 
 
 
 
 
 
 | 328 | 
   [object, uuid (80eb1561-8c77-49cf-8266-459b356ee99a), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 329 | 
   interface IOpcSignaturePartReferenceEnumerator : IUnknown { | 
 
 
 
 
 
 | 330 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 331 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 332 | 
     HRESULT GetCurrent ([out, retval] IOpcSignaturePartReference **partReference); | 
 
 
 
 
 
 | 333 | 
     HRESULT Clone ([out, retval] IOpcSignaturePartReferenceEnumerator **copy); | 
 
 
 
 
 
 | 334 | 
   }; | 
 
 
 
 
 
 | 335 | 
  | 
 
 
 
 
 
 | 336 | 
   [object, uuid (1b47005e-3011-4edc-be6f-0f65e5ab0342), nonextensible, pointer_default (unique)] | 
 
 
 
 
 
 | 337 | 
   interface IOpcSignatureReference : IUnknown { | 
 
 
 
 
 
 | 338 | 
     HRESULT GetId ([out, string, retval] LPWSTR *referenceId); | 
 
 
 
 
 
 | 339 | 
     HRESULT GetUri ([out, retval] IUri **referenceUri); | 
 
 
 
 
 
 | 340 | 
     HRESULT GetType ([out, string, retval] LPWSTR *type); | 
 
 
 
 
 
 | 341 | 
     HRESULT GetTransformMethod ([out, retval] OPC_CANONICALIZATION_METHOD *transformMethod); | 
 
 
 
 
 
 | 342 | 
     HRESULT GetDigestMethod ([out, string, retval] LPWSTR *digestMethod); | 
 
 
 
 
 
 | 343 | 
     HRESULT GetDigestValue ([out, size_is (,*count)] UINT8 **digestValue,[out] UINT32 *count); | 
 
 
 
 
 
 | 344 | 
   } | 
 
 
 
 
 
 | 345 | 
  | 
 
 
 
 
 
 | 346 | 
   [object, uuid (cfa59a45-28b1-4868-969e-fa8097fdc12a), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 347 | 
   interface IOpcSignatureReferenceEnumerator : IUnknown { | 
 
 
 
 
 
 | 348 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 349 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 350 | 
     HRESULT GetCurrent ([out, retval] IOpcSignatureReference **reference); | 
 
 
 
 
 
 | 351 | 
     HRESULT Clone ([out, retval] IOpcSignatureReferenceEnumerator **copy); | 
 
 
 
 
 
 | 352 | 
   }; | 
 
 
 
 
 
 | 353 | 
  | 
 
 
 
 
 
 | 354 | 
   [object, uuid (773ba3e4-f021-48e4-aa04-9816db5d3495), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 355 | 
   interface IOpcSignatureRelationshipReferenceEnumerator : IUnknown { | 
 
 
 
 
 
 | 356 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 357 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 358 | 
     HRESULT GetCurrent ([out, retval] IOpcSignatureRelationshipReference **relationshipReference); | 
 
 
 
 
 
 | 359 | 
     HRESULT Clone ([out, retval] IOpcSignatureRelationshipReferenceEnumerator **copy); | 
 
 
 
 
 
 | 360 | 
   }; | 
 
 
 
 
 
 | 361 | 
  | 
 
 
 
 
 
 | 362 | 
   [object, uuid (57babac6-9d4a-4e50-8b86-e5d4051eae7c), nonextensible, pointer_default (unique)] | 
 
 
 
 
 
 | 363 | 
   interface IOpcSignatureRelationshipReference : IUnknown { | 
 
 
 
 
 
 | 364 | 
     HRESULT GetSourceUri ([out, retval] IOpcUri **sourceUri); | 
 
 
 
 
 
 | 365 | 
     HRESULT GetDigestMethod ([out, string, retval] LPWSTR *digestMethod); | 
 
 
 
 
 
 | 366 | 
     HRESULT GetDigestValue ([out, size_is (,*count)] UINT8 **digestValue,[out] UINT32 *count); | 
 
 
 
 
 
 | 367 | 
     HRESULT GetTransformMethod ([out, retval] OPC_CANONICALIZATION_METHOD *transformMethod); | 
 
 
 
 
 
 | 368 | 
     HRESULT GetRelationshipSigningOption ([out, retval] OPC_RELATIONSHIPS_SIGNING_OPTION *relationshipSigningOption); | 
 
 
 
 
 
 | 369 | 
     HRESULT GetRelationshipSelectorEnumerator ([out, retval] IOpcRelationshipSelectorEnumerator **selectorEnumerator); | 
 
 
 
 
 
 | 370 | 
   } | 
 
 
 
 
 
 | 371 | 
  | 
 
 
 
 
 
 | 372 | 
   [object, uuid (5e50a181-a91b-48ac-88d2-bca3d8f8c0b1), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 373 | 
   interface IOpcRelationshipSelectorEnumerator : IUnknown { | 
 
 
 
 
 
 | 374 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 375 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 376 | 
     HRESULT GetCurrent ([out, retval] IOpcRelationshipSelector **relationshipSelector); | 
 
 
 
 
 
 | 377 | 
     HRESULT Clone ([out, retval] IOpcRelationshipSelectorEnumerator **copy); | 
 
 
 
 
 
 | 378 | 
   }; | 
 
 
 
 
 
 | 379 | 
  | 
 
 
 
 
 
 | 380 | 
   [object, local, uuid (85131937-8f24-421f-b439-59ab24d140b8), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 381 | 
   interface IOpcCertificateEnumerator : IUnknown { | 
 
 
 
 
 
 | 382 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 383 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 384 | 
     HRESULT GetCurrent ([out, retval] const CERT_CONTEXT **certificate); | 
 
 
 
 
 
 | 385 | 
     HRESULT Clone ([out, retval] IOpcCertificateEnumerator **copy); | 
 
 
 
 
 
 | 386 | 
   }; | 
 
 
 
 
 
 | 387 | 
  | 
 
 
 
 
 
 | 388 | 
   [object, local, uuid (56ea4325-8e2d-4167-b1a4-e486d24c8fa7), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 389 | 
   interface IOpcCertificateSet : IUnknown { | 
 
 
 
 
 
 | 390 | 
     HRESULT Add ([in] const CERT_CONTEXT *certificate); | 
 
 
 
 
 
 | 391 | 
     HRESULT Remove ([in] const CERT_CONTEXT *certificate); | 
 
 
 
 
 
 | 392 | 
     HRESULT GetEnumerator ([out, retval] IOpcCertificateEnumerator **certificateEnumerator); | 
 
 
 
 
 
 | 393 | 
   } | 
 
 
 
 
 
 | 394 | 
  | 
 
 
 
 
 
 | 395 | 
   [object, uuid (967b6882-0ba3-4358-b9e7-b64c75063c5e), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 396 | 
   interface IOpcDigitalSignatureEnumerator : IUnknown { | 
 
 
 
 
 
 | 397 | 
     HRESULT MoveNext ([out, retval] BOOL *hasNext); | 
 
 
 
 
 
 | 398 | 
     HRESULT MovePrevious ([out, retval] BOOL *hasPrevious); | 
 
 
 
 
 
 | 399 | 
     HRESULT GetCurrent ([out, retval] IOpcDigitalSignature **digitalSignature); | 
 
 
 
 
 
 | 400 | 
     HRESULT Clone ([out, retval] IOpcDigitalSignatureEnumerator **copy); | 
 
 
 
 
 
 | 401 | 
   }; | 
 
 
 
 
 
 | 402 | 
  | 
 
 
 
 
 
 | 403 | 
   [object, local, uuid (d5e62a0b-696d-462f-94df-72e33cef2659), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 404 | 
   interface IOpcDigitalSignatureManager : IUnknown { | 
 
 
 
 
 
 | 405 | 
     HRESULT GetSignatureOriginPartName ([out, retval] IOpcPartUri **signatureOriginPartName); | 
 
 
 
 
 
 | 406 | 
     HRESULT SetSignatureOriginPartName ([in, unique] IOpcPartUri *signatureOriginPartName); | 
 
 
 
 
 
 | 407 | 
     HRESULT GetSignatureEnumerator ([out, retval] IOpcDigitalSignatureEnumerator **signatureEnumerator); | 
 
 
 
 
 
 | 408 | 
     HRESULT RemoveSignature ([in] IOpcPartUri *signaturePartName); | 
 
 
 
 
 
 | 409 | 
     HRESULT CreateSigningOptions ([out, retval] IOpcSigningOptions **signingOptions); | 
 
 
 
 
 
 | 410 | 
     HRESULT Validate ([in] IOpcDigitalSignature *signature,[in] const CERT_CONTEXT *certificate,[out, retval] OPC_SIGNATURE_VALIDATION_RESULT *validationResult); | 
 
 
 
 
 
 | 411 | 
     HRESULT Sign ([in] const CERT_CONTEXT *certificate,[in] IOpcSigningOptions *signingOptions,[out, retval] IOpcDigitalSignature **digitalSignature); | 
 
 
 
 
 
 | 412 | 
     HRESULT ReplaceSignatureXml ([in] IOpcPartUri *signaturePartName,[in, size_is (count)] const UINT8 *newSignatureXml,[in] UINT32 count,[out, retval] IOpcDigitalSignature **digitalSignature); | 
 
 
 
 
 
 | 413 | 
   }; | 
 
 
 
 
 
 | 414 | 
  | 
 
 
 
 
 
 | 415 | 
   [object, uuid (6c9fe28c-ecd9-4b22-9d36-7fdde670fec0), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 416 | 
   interface IOpcSignaturePartReferenceSet : IUnknown { | 
 
 
 
 
 
 | 417 | 
     HRESULT Create ([in] IOpcPartUri *partUri,[in, unique] LPCWSTR digestMethod,[in] OPC_CANONICALIZATION_METHOD transformMethod,[out, retval] IOpcSignaturePartReference **partReference); | 
 
 
 
 
 
 | 418 | 
     HRESULT Delete ([in] IOpcSignaturePartReference *partReference); | 
 
 
 
 
 
 | 419 | 
     HRESULT GetEnumerator ([out, retval] IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator); | 
 
 
 
 
 
 | 420 | 
   } | 
 
 
 
 
 
 | 421 | 
  | 
 
 
 
 
 
 | 422 | 
   [object, uuid (6e34c269-a4d3-47c0-b5c4-87ff2b3b6136), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 423 | 
   interface IOpcRelationshipSelectorSet : IUnknown { | 
 
 
 
 
 
 | 424 | 
     HRESULT Create ([in] OPC_RELATIONSHIP_SELECTOR selector,[in] LPCWSTR selectionCriterion,[out, retval] IOpcRelationshipSelector **relationshipSelector); | 
 
 
 
 
 
 | 425 | 
     HRESULT Delete ([in] IOpcRelationshipSelector *relationshipSelector); | 
 
 
 
 
 
 | 426 | 
     HRESULT GetEnumerator ([out, retval] IOpcRelationshipSelectorEnumerator **relationshipSelectorEnumerator); | 
 
 
 
 
 
 | 427 | 
   } | 
 
 
 
 
 
 | 428 | 
  | 
 
 
 
 
 
 | 429 | 
   [object, uuid (9f863ca5-3631-404c-828d-807e0715069b), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 430 | 
   interface IOpcSignatureRelationshipReferenceSet : IUnknown { | 
 
 
 
 
 
 | 431 | 
     HRESULT Create ([in] IOpcUri *sourceUri,[in, unique] LPCWSTR digestMethod,[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,[in, unique] IOpcRelationshipSelectorSet *selectorSet,[in] OPC_CANONICALIZATION_METHOD transformMethod,[out, retval] IOpcSignatureRelationshipReference **relationshipReference); | 
 
 
 
 
 
 | 432 | 
     HRESULT CreateRelationshipSelectorSet ([out] IOpcRelationshipSelectorSet **selectorSet); | 
 
 
 
 
 
 | 433 | 
     HRESULT Delete ([in] IOpcSignatureRelationshipReference *relationshipReference); | 
 
 
 
 
 
 | 434 | 
     HRESULT GetEnumerator ([out, retval] IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator); | 
 
 
 
 
 
 | 435 | 
   } | 
 
 
 
 
 
 | 436 | 
  | 
 
 
 
 
 
 | 437 | 
   [object, uuid (f3b02d31-ab12-42dd-9e2f-2b16761c3c1e), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 438 | 
   interface IOpcSignatureReferenceSet : IUnknown { | 
 
 
 
 
 
 | 439 | 
     HRESULT Create ([in] IUri *referenceUri,[in, unique] LPCWSTR referenceId,[in, unique] LPCWSTR type,[in, unique] LPCWSTR digestMethod,[in] OPC_CANONICALIZATION_METHOD transformMethod,[out, retval] IOpcSignatureReference **reference); | 
 
 
 
 
 
 | 440 | 
     HRESULT Delete ([in] IOpcSignatureReference *reference); | 
 
 
 
 
 
 | 441 | 
     HRESULT GetEnumerator ([out, retval] IOpcSignatureReferenceEnumerator **referenceEnumerator); | 
 
 
 
 
 
 | 442 | 
   } | 
 
 
 
 
 
 | 443 | 
  | 
 
 
 
 
 
 | 444 | 
   [object, uuid (8f792ac5-7947-4e11-bc3d-2659ff046ae1), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 445 | 
   interface IOpcSignatureCustomObjectSet : IUnknown { | 
 
 
 
 
 
 | 446 | 
     HRESULT Create ([in, size_is (count)] const UINT8 *xmlMarkup,[in] UINT32 count,[out, retval] IOpcSignatureCustomObject **customObject); | 
 
 
 
 
 
 | 447 | 
     HRESULT Delete ([in] IOpcSignatureCustomObject *customObject); | 
 
 
 
 
 
 | 448 | 
     HRESULT GetEnumerator ([out, retval] IOpcSignatureCustomObjectEnumerator **customObjectEnumerator); | 
 
 
 
 
 
 | 449 | 
   } | 
 
 
 
 
 
 | 450 | 
  | 
 
 
 
 
 
 | 451 | 
   [object, local, uuid (52ab21dd-1cd0-4949-bc80-0c1232d00cb4), nonextensible, pointer_default (unique)] | 
 
 
 
 
 
 | 452 | 
   interface IOpcDigitalSignature : IUnknown { | 
 
 
 
 
 
 | 453 | 
     HRESULT GetNamespaces ([out, size_is (,*count)] LPWSTR **prefixes,[out, size_is (,*count)] LPWSTR **namespaces,[out] UINT32 *count); | 
 
 
 
 
 
 | 454 | 
     HRESULT GetSignatureId ([out, string, retval] LPWSTR *signatureId); | 
 
 
 
 
 
 | 455 | 
     HRESULT GetSignaturePartName ([out, retval] IOpcPartUri **signaturePartName); | 
 
 
 
 
 
 | 456 | 
     HRESULT GetSignatureMethod ([out, string, retval] LPWSTR *signatureMethod); | 
 
 
 
 
 
 | 457 | 
     HRESULT GetCanonicalizationMethod ([out, retval] OPC_CANONICALIZATION_METHOD *canonicalizationMethod); | 
 
 
 
 
 
 | 458 | 
     HRESULT GetSignatureValue ([out, size_is (,*count)] UINT8 **signatureValue,[out] UINT32 *count); | 
 
 
 
 
 
 | 459 | 
     HRESULT GetSignaturePartReferenceEnumerator ([out, retval] IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator); | 
 
 
 
 
 
 | 460 | 
     HRESULT GetSignatureRelationshipReferenceEnumerator ([out, retval] IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator); | 
 
 
 
 
 
 | 461 | 
     HRESULT GetSigningTime ([out, string, retval] LPWSTR *signingTime); | 
 
 
 
 
 
 | 462 | 
     HRESULT GetTimeFormat ([out, retval] OPC_SIGNATURE_TIME_FORMAT *timeFormat); | 
 
 
 
 
 
 | 463 | 
     HRESULT GetPackageObjectReference ([out, retval] IOpcSignatureReference **packageObjectReference); | 
 
 
 
 
 
 | 464 | 
     HRESULT GetCertificateEnumerator ([out, retval] IOpcCertificateEnumerator **certificateEnumerator); | 
 
 
 
 
 
 | 465 | 
     HRESULT GetCustomReferenceEnumerator ([out, retval] IOpcSignatureReferenceEnumerator **customReferenceEnumerator); | 
 
 
 
 
 
 | 466 | 
     HRESULT GetCustomObjectEnumerator ([out, retval] IOpcSignatureCustomObjectEnumerator **customObjectEnumerator); | 
 
 
 
 
 
 | 467 | 
     HRESULT GetSignatureXml ([out, size_is (,*count)] UINT8 **signatureXml,[out] UINT32 *count); | 
 
 
 
 
 
 | 468 | 
   }; | 
 
 
 
 
 
 | 469 | 
  | 
 
 
 
 
 
 | 470 | 
   [object, uuid (50d2d6a5-7aeb-46c0-b241-43ab0e9b407e), nonextensible, pointer_default (ref)] | 
 
 
 
 
 
 | 471 | 
   interface IOpcSigningOptions : IUnknown { | 
 
 
 
 
 
 | 472 | 
     HRESULT GetSignatureId ([out, string, retval] LPWSTR *signatureId); | 
 
 
 
 
 
 | 473 | 
     HRESULT SetSignatureId ([in] LPCWSTR signatureId); | 
 
 
 
 
 
 | 474 | 
     HRESULT GetSignatureMethod ([out, string, retval] LPWSTR *signatureMethod); | 
 
 
 
 
 
 | 475 | 
     HRESULT SetSignatureMethod ([in] LPCWSTR signatureMethod); | 
 
 
 
 
 
 | 476 | 
     HRESULT GetDefaultDigestMethod ([out, string, retval] LPWSTR *digestMethod); | 
 
 
 
 
 
 | 477 | 
     HRESULT SetDefaultDigestMethod ([in] LPCWSTR digestMethod); | 
 
 
 
 
 
 | 478 | 
     HRESULT GetCertificateEmbeddingOption ([out, retval] OPC_CERTIFICATE_EMBEDDING_OPTION *embeddingOption); | 
 
 
 
 
 
 | 479 | 
     HRESULT SetCertificateEmbeddingOption ([in] OPC_CERTIFICATE_EMBEDDING_OPTION embeddingOption); | 
 
 
 
 
 
 | 480 | 
     HRESULT GetTimeFormat ([out, retval] OPC_SIGNATURE_TIME_FORMAT *timeFormat); | 
 
 
 
 
 
 | 481 | 
     HRESULT SetTimeFormat ([in] OPC_SIGNATURE_TIME_FORMAT timeFormat); | 
 
 
 
 
 
 | 482 | 
     HRESULT GetSignaturePartReferenceSet ([out, retval] IOpcSignaturePartReferenceSet **partReferenceSet); | 
 
 
 
 
 
 | 483 | 
     HRESULT GetSignatureRelationshipReferenceSet ([out, retval] IOpcSignatureRelationshipReferenceSet **relationshipReferenceSet); | 
 
 
 
 
 
 | 484 | 
     HRESULT GetCustomObjectSet ([out, retval] IOpcSignatureCustomObjectSet **customObjectSet); | 
 
 
 
 
 
 | 485 | 
     HRESULT GetCustomReferenceSet ([out, retval] IOpcSignatureReferenceSet **customReferenceSet); | 
 
 
 
 
 
 | 486 | 
     HRESULT GetCertificateSet ([out, retval] IOpcCertificateSet **certificateSet); | 
 
 
 
 
 
 | 487 | 
     HRESULT GetSignaturePartName ([out, retval] IOpcPartUri **signaturePartName); | 
 
 
 
 
 
 | 488 | 
     HRESULT SetSignaturePartName ([in, unique] IOpcPartUri *signaturePartName); | 
 
 
 
 
 
 | 489 | 
   }; | 
 
 
 
 
 
 | 490 | 
  | 
 
 
 
 
 
 | 491 | 
   [object, uuid (6d0b4446-cd73-4ab3-94f4-8ccdf6116154), pointer_default (ref)] | 
 
 
 
 
 
 | 492 | 
   interface IOpcFactory : IUnknown { | 
 
 
 
 
 
 | 493 | 
     HRESULT CreatePackageRootUri ([out, retval] IOpcUri **rootUri); | 
 
 
 
 
 
 | 494 | 
     HRESULT CreatePartUri ([in, string] LPCWSTR pwzUri,[out, retval] IOpcPartUri **partUri); | 
 
 
 
 
 
 | 495 | 
     [local] HRESULT CreateStreamOnFile ([in, string] LPCWSTR filename,[in] OPC_STREAM_IO_MODE ioMode,[in, unique] LPSECURITY_ATTRIBUTES securityAttributes,[in] DWORD dwFlagsAndAttributes,[out, retval] IStream **stream); | 
 
 
 
 
 
 | 496 | 
     HRESULT CreatePackage ([out, retval] IOpcPackage **package); | 
 
 
 
 
 
 | 497 | 
     HRESULT ReadPackageFromStream ([in] IStream *stream,[in] OPC_READ_FLAGS flags,[out, retval] IOpcPackage **package); | 
 
 
 
 
 
 | 498 | 
     HRESULT WritePackageToStream ([in] IOpcPackage *package,[in] OPC_WRITE_FLAGS flags,[in] IStream *stream); | 
 
 
 
 
 
 | 499 | 
     HRESULT CreateDigitalSignatureManager ([in] IOpcPackage *package,[out, retval] IOpcDigitalSignatureManager **signatureManager); | 
 
 
 
 
 
 | 500 | 
   } | 
 
 
 
 
 
 | 501 | 
  | 
 
 
 
 
 
 | 502 | 
   [uuid (6b2d6ba0-9f3e-4f27-920b-313cc426a39e)] | 
 
 
 
 
 
 | 503 | 
   coclass OpcFactory { | 
 
 
 
 
 
 | 504 | 
     interface IOpcFactory; | 
 
 
 
 
 
 | 505 | 
   }; | 
 
 
 
 
 
 | 506 | 
 }; | 
 
 
 
 
 
 | 507 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 508 | 
  | 
 
 
 
 
 
 | 509 | 
 cpp_quote("#endif") |