IPrintCoreHelperUni::SetOptions 메서드(prcomoem.h)
IPrintCoreHelperUni::SetOptions 메서드는 여러 기능 옵션 쌍을 동시에 설정합니다.
구문
HRESULT SetOptions(
[in, optional] IN PDEVMODE pDevmode,
[in] IN DWORD cbSize,
[in] IN BOOL bResolveConflicts,
[in] IN const PRINT_FEATURE_OPTION [] pFOPairs,
[in] IN DWORD cPairs,
[out] OUT PDWORD pcPairsWritten,
[out] OUT PDWORD pdwResult
);
매개 변수
[in, optional] pDevmode
DEVMODEW 구조체에 대한 포인터입니다. 이 포인터가 제공되면 IPrintCoreHelperUni::SetOptions 는 기본 또는 현재 DEVMODEW 구조 대신 pDevmode 에서 가리키는 DEVMODEW 구조를 사용해야 합니다. 이 메서드가 플러그 인 공급자 또는 IPrintOemPS::D evMode에서 호출되는 경우 이 매개 변수가 필요합니다. 대부분의 다른 상황에서 매개 변수는 NULL이어야 합니다. 핵심 드라이버가 pDevmode 를 NULL로 설정하면 전달된 DEVMODEW 구조체가 아닌 내부 상태를 수정합니다. 전체 UI 교체와 같은 작업 중에 필요합니다. 여기서 DDI에서 반환된 DEVMODEW 구조(예: DrvDocumentPropertySheets)는 핵심 드라이버의 UI 모듈에서 서비스를 받습니다.
[in] cbSize
pDevmode 매개 변수가 가리키는 DEVMODEW 구조체의 크기(바이트)입니다.
[in] bResolveConflicts
IPrintCoreHelperUni::SetOptions가 구성 파일의 GPD 뷰에서 하나 이상의 제약 조건과 Unidrv 또는 인쇄 프로세서에서 구현된 기능에 대한 제약 조건에서 발생하는 충돌을 resolve 여부를 나타내는 부울 값입니다. TRUE인 경우 이 메서드는 충돌을 resolve 시도해야 합니다. FALSE이면 이 메서드가 충돌을 resolve 시도해서는 안 됩니다.
[in] pFOPairs
각 요소에 기능 옵션 쌍이 포함된 PRINT_FEATURE_OPTION 요소의 배열입니다. 각 기능 옵션 쌍에는 해당 기능에 대해 선택할 수 있는 기능과 옵션이 나열됩니다. 모든 설정은 순차적으로 적용됩니다. 중복은 허용되지 않지만 배열의 뒷부분에서 나타나는 설정(즉, 더 높은 인덱스)은 배열의 앞부분에 나타나는 설정을 재정의합니다.
[in] cPairs
pFOPairs 매개 변수가 가리키는 기능 옵션 쌍의 수입니다.
[out] pcPairsWritten
IPrintCoreHelperUni::SetOptions가 반환되거나 실패하기 전에 성공적으로 저장된 기능 옵션 쌍의 수를 수신하는 변수에 대한 포인터입니다. 이 메서드가 성공적으로 반환되면 pcPairsWritten 는 cPairs와 동일한 값을 갖습니다. 메서드가 실패하면 pcPairsWritten는 cPairs 값을 통해 0의 값을 가질 수 있습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
[out] pdwResult
충돌 해결의 상태 수신하는 변수에 대한 포인터입니다. 상태 다음 값 중 하나일 수 있습니다.
값 | Description |
---|---|
SETOPTIONS_RESULT_NO_CONFLICT | 구성 파일의 GPD 뷰에 지정된 제약 조건이 새 설정을 기준으로 위반되지 않았습니다. |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | 구성 파일의 GPD 보기에 지정된 제약 조건이 하나 이상 위반되었으며 호출자는 메서드가 충돌을 resolve 것을 요청했습니다. 이 값을 사용하면 충돌이 해결된 설정이 변경됩니다. |
SETOPTIONS_RESULT_CONFLICT_NOT_RESOLVED | 구성 파일의 GPD 뷰에 지정된 제약 조건이 하나 이상 위반되었으며 호출자는 메서드가 충돌을 resolve 않도록 요청했습니다. 설정은 변경되지 않으며 충돌은 유지됩니다. |
반환 값
IPrintCoreHelperUni::SetOptions는 다음 값 중 하나를 반환해야 합니다.
반환 코드 | Description |
---|---|
S_OK | 작업에 성공했습니다. |
E_INVALIDARG | 하나 이상의 인수가 잘못되었거나 기능이 지원되지 않았습니다. |
E_OUTOFMEMORY | 결과 배열의 메모리를 할당할 수 없습니다. |
다른 오류의 경우 메서드는 표준 COM 오류 코드를 반환해야 합니다.
설명
IPrintCoreHelperUni::SetOptions를 사용하여 여러 설정을 동시에 변경하고 선택한 모든 옵션이 설정된 후 제약 조건을 resolve 수 있습니다. 옵션에 대한 변경 내용은 pFOPairs 배열의 시작부터 순차적으로 적용되므로 이 배열에 동일한 기능이 두 번 나타나면 기능에 대한 마지막 옵션만 선택됩니다. bResolveConflicts 매개 변수가 TRUE가 아니면 옵션 변경 내용이 커밋되지 않습니다.
대부분의 시나리오에서는 bResolveConflicts 매개 변수를 TRUE로 설정해야 합니다. 사용자에게 충돌을 resolve 메시지를 표시하려면 이 매개 변수를 FALSE로 설정합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | prcomoem.h(Prcomoem.h 포함) |