다음을 통해 공유


IPrintCoreUI2::GetOptionAttribute 메서드(prcomoem.h)

IPrintCoreUI2::GetOptionAttribute 메서드는 옵션 특성 목록 또는 특정 옵션 특성의 값을 검색합니다.

통사론

HRESULT GetOptionAttribute(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [in]  PCSTR     pszOptionKeyword,
  [in]  PCSTR     pszAttribute,
  [out] PDWORD    pdwDataType,
  [out] PBYTE     pbData,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

매개 변수

[in] poemuiobj

현재 컨텍스트, OEMUIOBJ 구조체에 대한 포인터입니다.

[in] dwFlags

예약되어 있으며 0으로 설정해야 합니다.

[in] pszFeatureKeyword

쿼리할 단일 기능 키워드를 지정하는 ASCII 문자열을 포함하는 호출자 제공 버퍼에 대한 포인터입니다.

[in] pszOptionKeyword

쿼리할 단일 옵션 키워드를 지정하는 ASCII 문자열을 포함하는 호출자 제공 버퍼에 대한 포인터입니다. 이 값은 IPrintCoreUI2::EnumOptions 이전 호출에서 가져올 수 있습니다.

[in] pszAttribute

요청된 단일 특성을 지정하는 ASCII 문자열을 포함하는 호출자 제공 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL 경우 호출자는 옵션에 대한 특정 특성 이름을 지정하는 것과 달리 옵션에 대해 지원되는 모든 특성 이름 목록을 요청합니다.

[out] pdwDataType

요청된 특성의 데이터 형식을 지정하는 값을 받는 메모리 위치에 대한 포인터입니다. 이 값은 EATTRIBUTE_DATATYPE 열거자의 열거자입니다.

[out] pbData

요청된 데이터를 수신하는 호출자 제공 버퍼에 대한 포인터입니다. 요청을 수행하는 데 필요한 바이트 수를 단순히 쿼리하려면 이 매개 변수를 NULL 설정합니다.

[in] cbSize

pbData가리키는 버퍼의 크기(바이트)를 지정합니다.

[out] pcbNeeded

요청된 데이터의 실제 크기(바이트)를 받는 메모리 위치에 대한 포인터입니다.

반환 값

이 메서드는 다음 값 중 하나를 반환해야 합니다.

반환 코드 묘사
S_OK
메서드가 성공했습니다.
E_OUTOFMEMORY
cbSize 값은 출력 버퍼에 쓸 바이트 수(pbData 가리키는 버퍼)보다 작습니다.

이 메서드는 pbData NULL 설정하여 호출되었습니다.

E_INVALIDARG
메서드가 존재하지 않는 특성을 쿼리하려고 했습니다.

기능 키워드 이름 또는 옵션 키워드 이름이 인식되지 않았습니다.

poemuiobj 매개 변수가 잘못된 컨텍스트 개체를 가리켰습니다.

E_FAIL
메서드가 실패했습니다.

발언

이 메서드는 Windows XP Pscript5 플러그 인에 대해서만 지원되며 Unidrv 플러그 인에는 지원되지 않습니다.

이 메서드가 pszAttributepbData 매개 변수를 NULL설정된 경우 이 메서드는 옵션에 대해 지원되는 모든 특성 이름 목록에 필요한 바이트 수로 설정된 *pcbNeed 반환합니다. 메서드가 두 번째로 호출되면 pszAttribute NULL 설정되고 이전 호출에서 *pcbNeeded 지정된 크기의 버퍼를 가리키는 pbData 이 메서드는 *pdwDataType kADT_ASCII(EATTRIBUTE_DATATYPE 열거형 형식의 열거자)로 설정되고 옵션에 대해 지원되는 모든 특성 이름의 null로 구분된 목록을 가리키는 pbData 반환합니다. 이 목록은 두 개의 null 문자로 종료됩니다.

데이터 액세스당 두 번의 호출을 수행해야 하는 필요성을 줄이려면 메서드에 고정 크기(예: 1KB)의 출력 버퍼를 전달한 다음 함수 반환 값을 확인합니다. 메서드가 S_OK 반환하는 경우 버퍼에는 이미 관심 있는 데이터가 포함됩니다. 메서드가 E_OUTOFMEMORY 반환하는 경우 *pcbNeeded 값은 관심 있는 데이터를 보유하는 데 필요한 버퍼 크기입니다. 그런 다음 호출자는 더 큰 크기의 버퍼를 할당하고 메서드에 대한 두 번째 호출을 진행해야 합니다.

자세한 내용은 GetOptionAttribute 사용하는참조하세요.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 prcomoem.h(Prcomoem.h 포함)

참고 항목

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

IPrintCoreUI2::GetFeatureAttribute

IPrintCoreUI2::GetGlobalAttribute

OEMUIOBJ