다음을 통해 공유


DRMGetUnboundLicenseObject 함수(msdrm.h)

[에 의해 노출되는 기능을 활용하는 AD RMS SDK

Msdrm.dll 클라이언트는 Windows Server 2008, Windows Vista, Windows Server 2008 R2, Windows 7, Windows Server 2012 및 Windows 8 사용할 수 있습니다. 또는 변경될 수 있습니다.

사용할 수 없습니다. 대신 Active Directory Rights Management Services SDK 2.1을 사용합니다.

Msipc.dll 클라이언트에서 노출하는 기능을 활용합니다.]

DRMGetUnboundLicenseObject 함수는 언바운드 라이선스에서 지정된 형식의 개체를 검색합니다.

구문

DRMEXPORT HRESULT UDAPICALL DRMGetUnboundLicenseObject(
  [in]  DRMQUERYHANDLE hQueryRoot,
  [in]  PWSTR          wszSubObjectType,
  [in]  UINT           iIndex,
  [out] DRMQUERYHANDLE *phSubQuery
);

매개 변수

[in] hQueryRoot

DRMGetUnboundLicenseObject 또는 DRMParseUnboundLicense를 사용하여 만든 라이선스의 라이선스 또는 개체에 대한 핸들입니다.

[in] wszSubObjectType

찾을 개체의 이름입니다.

[in] iIndex

둘 이상이 있는 경우 검색할 instance 나타내는 인덱스(0부터 시작)입니다.

[out] phSubQuery

검색된 개체입니다. DRMCloseHandle을 호출하여 핸들을 닫습니다.

반환 값

함수가 성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값은 다음 목록에 있는 값을 포함하지만 이에 국한되지 않습니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

설명

각 개체에는 라이선스 내에 여러 인스턴스가 있을 수 있습니다. 예를 들어 라이선스에는 많은 권한 개체가 포함될 수 있습니다. 이 경우 먼저 DRMGetUnboundLicenseObjectCount 를 호출하여 기존 개체 수를 가져온 다음 모든 인스턴스를 반복하여 0부터 시작하여 iWhich 값을 하나씩 증가시켜 이 클래스의 모든 개체를 반복해야 할 수 있습니다. 특정 개체를 찾으면 검색된 각 개체가 해당 특성(예: 이름)에 대해 쿼리될 수 있습니다.

이 쿼리는 전달된 개체 바로 아래 수준에서만 검색됩니다. 예를 들어 루트 라이선스 핸들이 전달되고 찾을 특성이 g_wszQUERY_OWNER 경우 OWNER 개체가 두 번째 수준 또는 더 깊은 수준(라이선스 루트를 수준 0으로 계산)에 표시되기 때문에 쿼리에서 아무 것도 찾을 수 없습니다.

wszSubObjectType 매개 변수는 다음 예제와 같이 XrML 노드 값을 식별합니다. 쿼리에 g_wszQUERY_OBJECTTYPE 사용하면 "그룹 ID 라이선스 라이선스"가 반환됩니다. 발급 라이선스에서 쿼리할 수 있는 유일한 개체는 g_wszQUERY_DISTRIBUTIONPOINT.

<PRINCIPAL internal-id="1">
  <OBJECT type="Group Identity Licensor">
  <ID type="Group Identity">someone@example.com</ID>
  <NAME>Pavel's Group Identity</NAME>
  </OBJECT>

DRMCloseQueryHandle을 호출하여 이 함수를 호출하여 만든 개체 핸들을 닫습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 msdrm.h
라이브러리 Msdrm.lib
DLL Msdrm.dll

추가 정보

DRMGetUnboundLicenseAttribute

DRMGetUnboundLicenseAttributeCount

DRMGetUnboundLicenseObjectCount

라이선스 쿼리