IPrintCoreHelper::WhyConstrained 메서드(prcomoem.h)

IPrintCoreHelper::WhyConstrained 메서드는 현재 구성에서 지정된 기능 옵션 쌍을 제한하는 옵션 목록을 제공합니다.

구문

HRESULT WhyConstrained(
  [in]  const DEVMODE              *pDevmode,
  [in]  DWORD                      cbSize,
  [in]  PCSTR                      pszFeatureKeyword,
  [in]  PCSTR                      pszOptionKeyword,
  [out] const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out] DWORD                      *pdwNumOptions
);

매개 변수

[in] pDevmode

DEVMODEW 구조체에 대한 포인터입니다. 이 포인터가 제공되면 IPrintCoreHelper::WhyConstrained 는 기본 또는 현재 DEVMODEW 구조 대신 pDevmode 에서 가리키는 DEVMODEW 구조를 사용해야 합니다. 이 메서드가 플러그 인 공급자 또는 IPrintOemPS::D evMode 또는 IPrintOemUni::D evMode에서 호출되는 경우 이 매개 변수가 필요합니다. 대부분의 다른 상황에서 매개 변수는 NULL이어야 합니다. 핵심 드라이버가 pDevmodeNULL로 설정하면 전달된 DEVMODEW 구조가 아닌 내부 상태를 수정합니다. 전체 UI 교체와 같은 작업 중에 필요합니다. 여기서 DDI에서 반환된 DEVMODEW 구조(예: DrvDocumentPropertySheets)는 핵심 드라이버의 UI 모듈에서 서비스를 받고 있습니다.

[in] cbSize

pDevmode 매개 변수가 가리키는 DEVMODEW 구조체의 크기(바이트)입니다.

[in] pszFeatureKeyword

기능의 이름을 포함하는 ANSI 문자열에 대한 포인터입니다. 기능 이름은 GPD 또는 PPD 파일에 사용되는 키워드(keyword) 해당해야 합니다.

[in] pszOptionKeyword

옵션의 이름을 포함하는 ANSI 문자열에 대한 포인터입니다. 옵션 이름은 GPD 또는 PPD 파일에 사용되는 키워드(keyword) 해당해야 합니다.

[out] ppFOConstraints

PRINT_FEATURE_OPTION 요소 배열에 대한 포인터입니다. IPrintCoreHelper::WhyConstrained가 반환되면 배열에는 pszOptionKeyword 매개 변수에 지정된 옵션을 제한하는 옵션의 기능 요소 쌍 목록이 포함됩니다.

[out] pdwNumOptions

ppFOConstraints 매개 변수가 가리키는 배열의 기능 옵션 쌍 수를 수신하는 변수에 대한 포인터입니다.

반환 값

IPrintCoreHelper::WhyConstrained는 다음 값 중 하나를 반환해야 합니다.

반환 코드 Description
S_OK
작업에 성공했습니다.
E_INVALIDARG
하나 이상의 인수가 잘못되었거나 기능이 지원되지 않았습니다.
E_OUTOFMEMORY
결과 배열의 메모리를 할당할 수 없습니다.

설명

지정된 기능 옵션 쌍이 제한되지 않으면 IPrintCoreHelper::WhyConstrained 는 S_OK 반환하지만 *pdwFOPairs 가 0으로 설정되고 *ppFOConstraints[0]가 NULL로 설정된 상태로 반환됩니다.

이 메서드의 결과에는 현재 선택된 옵션에 영향을 주는 모든 옵션이 포함되지 않을 수 있습니다. Unidrv 드라이버의 경우 이 목록에는 활성 상태인 각 제약 조건 집합에서 하나 이상의 옵션이 포함됩니다. 그러나 두 개 이상의 기능 옵션 쌍을 나열하는 잘못된 조합이 있는 경우 조합에서 하나의 옵션만 목록에 포함됩니다.

요구 사항

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

추가 정보

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions