IOpcSignatureRelationshipReferenceSet::Create 메서드(msopc.h)
관계 부분에 대한 참조를 나타내는 IOpcSignatureRelationshipReference 인터페이스 포인터를 만들고 집합에 새 인터페이스 포인터를 추가합니다. 참조할 관계 부분에 저장된 관계의 전체 또는 하위 집합이 서명에 대해 선택됩니다.
구문
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
매개 변수
[in] sourceUri
서명을 위해 선택할 관계의 원본 URI를 나타내는 IOpcUri 인터페이스 포인터입니다.
[in] digestMethod
선택할 관계에 사용할 다이제스트 메서드입니다. 기본 다이제스트 메서드를 사용하려면 이 매개 변수에 NULL 을 전달합니다.
[in] relationshipSigningOption
서명에 대해 선택한 관계에 참조할 관계 부분의 관계의 전체 또는 하위 집합이 포함되는지 여부를 나타내는 값입니다.
relationshipSigningOption 값이 다른 매개 변수에 미치는 영향에 대한 자세한 내용은 비고를 참조하세요.
[in] selectorSet
서명을 위해 선택할 관계 부분에서 관계의 하위 집합을 식별하는 데 사용할 수 있는 IOpcRelationshipSelectorSet 인터페이스 포인터입니다.
relationshipSigningOption이 OPC_RELATIONSHIP_SIGN_PART 설정된 경우 selectorSet은 NULL입니다.
selectorSet 값에 대한 자세한 내용은 비고를 참조하세요.
[in] transformMethod
선택한 관계의 관계 태그에 적용할 정식화 메서드를 설명하는 값입니다.
relationshipSigningOption이 OPC_RELATIONSHIP_SIGN_USING_SELECTORS 설정된 경우 transformMethod 값은 무시됩니다.
relationshipSigningOption이 OPC_RELATIONSHIP_SIGN_USING_SELECTORS 설정될 때 적용할 변환 메서드에 대한 자세한 내용은 비고를 참조하세요.
[out, retval] relationshipReference
참조된 관계 부분을 나타내는 새 IOpcSignatureRelationshipReference 인터페이스 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
relationshipSigningOption 매개 변수에 전달된 값이 유효한 OPC_RELATIONSHIPS_SIGNING_OPTION 열거형 값이 아닙니다. |
|
transformMethod 매개 변수에 전달된 값이 유효한 OPC_CANONICALIZATION_METHOD 열거형 값이 아닙니다. |
|
sourceUri 매개 변수는 NULL입니다. |
|
relationshipSigningOption 매개 변수가 OPC_RELATIONSHIP_SIGN_PART 값을 전달하는 동안 selectorSet 매개 변수는 NULL로 전달되지 않습니다. |
설명
이 메서드는 관계 부분에 대한 참조를 만듭니다. 서명이 생성될 때 참조된 관계 파트에 저장된 관계의 전체 또는 하위 집합에 서명할 수 있습니다.
관계 파트의 모든 관계에 서명하려면 relationshipSigningOption 매개 변수 값이 OPC_RELATIONSHIP_SIGN_PART 설정되고 selectorSet 매개 변수 값이 NULL로 설정된 상태에서 이 메서드를 호출합니다.
관계 파트에서 관계의 하위 집합에 서명하려면 relationshipSigningOption 매개 변수 값이 OPC_RELATIONSHIP_SIGN_USING_SELECTORS 설정되고 selectorSet 매개 변수 값이 IOpcRelationshipSelectorSet 인터페이스 포인터로 설정된 상태에서 이 메서드를 호출합니다. IOpcRelationshipSelectorSet 인터페이스 포인터를 만들려면 CreateRelationshipSelectorSet 메서드를 호출합니다.
다음 표에는 참조할 관계 부분에 저장된 관계의 모든 관계 또는 하위 집합이 서명될지 여부를 나타내는 참조를 만드는 데 필요한 매개 변수 값이 요약되어 있습니다.
Description | relationshipSigningOption 값 | selectorSet 값 |
---|---|---|
관계 부분의 모든 관계에 서명 | OPC_RELATIONSHIP_SIGN_PART | NULL |
관계 파트에서 관계의 하위 집합에 서명 | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | IOpcRelationshipSelectorSet 인터페이스 포인터 |
관계의 하위 집합에 서명할 경우 지정된 변환 메서드는 무시됩니다. 대신 서명이 생성되면 적용된 첫 번째 변환은 관계 변환이고 두 번째 변환은 OPC_CANONICALIZATION_C14N 정식화 메서드입니다.
IOpcSignatureRelationshipReference 인터페이스 포인터가 만들어지고 집합에 추가되면 패키지가 저장되면 해당 포인터가 나타내는 참조가 저장됩니다.
서명되지 않은 관계는 서명을 무효화하지 않고 패키지에 제거, 수정 또는 추가할 수 있습니다. 서명에 대한 관계의 하위 집합이 선택되어 있고 하위 집합이 변경되면 서명이 무효화됩니다.
스레드 보안
패키징 개체는 스레드로부터 안전하지 않습니다.
자세한 내용은 패키징 API를 사용한 시작 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | msopc.h |
추가 정보
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
개요
참조