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

메서드는 IPrintCoreUI2::EnumConstrainedOptions 제한되는 기능의 옵션을 결정합니다.

구문

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

매개 변수

[in] poemuiobj

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

[in] dwFlags

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

[in] pszFeatureKeyword

호출자에게 관심 있는 단일 기능 키워드(keyword) 포함하는 호출자 제공 버퍼에 대한 포인터입니다.

[out] pmszConstrainedOptionList

이 기능에 대한 옵션 키워드 목록을 MULTI_SZ 형식으로 수신하는 호출자 제공 버퍼에 대한 포인터입니다. 각 키워드(keyword) 현재 구성에서 제한되는 옵션을 나타냅니다.

목록을 입력하지 않고 제한된 옵션 목록의 크기(*pcbNeeded)를 쿼리하려면 이 매개 변수를 NULL로 설정합니다.

[in] cbSize

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

[out] pcbNeeded

제한된 옵션 목록의 실제 크기(바이트)를 수신하는 메모리 위치에 대한 포인터입니다.

반환 값

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

반환 코드 Description
S_OK
메서드가 성공했습니다. 또한 기능의 옵션이 제한되지 않는 경우 메서드는 이 값을 반환해야 합니다. 이 경우 메서드는 pmszConstrainedOptionList가 가리키는 버퍼에 null 문자를 하나 배치하고 **pcbNeeded*를 1로 설정해야 합니다.
E_OUTOFMEMORY
cbSize의 값은 출력 버퍼에 쓸 바이트 수(pmszConstrainedOptionList가 가리키는 버퍼)보다 작습니다.

pmszConstrainedOptionList가NULL로 설정된 상태에서 메서드가 호출되었습니다.

E_INVALIDARG
pszFeatureKeyword가 가리키는 문자열은 인식된 기능이 아닙니다.

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

기능의 고정도는 peomuiobj가 가리키는 컨텍스트 개체의 고정과 일치하지 않습니다. ( Driver-Supplied 속성 시트 페이지 바꾸기를 참조하세요.)

E_FAIL
메서드가 실패했습니다.
E_NOTIMPL
메서드가 지원되지 않습니다.

설명

이 메서드는 핵심 드라이버의 표준 UI 페이지를 완전히 대체하는 Windows XP Pscript5 UI 플러그 인에서만 지원되며 UI 플러그 인의 IPrintOemUI::D ocumentPropertySheetsIPrintOemUI::D evicePropertySheets 함수 및 해당 속성 시트 콜백 루틴 중에만 지원됩니다. 자세한 내용은 Driver-Supplied 속성 시트 페이지 바꾸기 를 참조하세요.

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

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 prcomoem.h(Prcomoem.h 포함)

추가 정보

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ