IPrintCorePS2::GetGlobalAttribute 메서드(prcomoem.h)
메서드는 IPrintCorePS2::GetGlobalAttribute
전역 특성 목록 또는 특정 전역 특성의 값을 검색합니다.
구문
HRESULT GetGlobalAttribute(
[in] PDEVOBJ pdevobj,
[in] DWORD dwFlags,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
매개 변수
[in] pdevobj
DEVOBJ 구조체에 대한 포인터입니다.
[in] dwFlags
예약되어 있으며 0으로 설정해야 합니다.
[in] pszAttribute
요청된 단일 특성을 지정하는 ASCII 문자열을 포함하는 호출자 제공 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL인 경우 호출자는 특정 전역 특성 이름을 지정하는 것이 아니라 지원되는 모든 전역 특성 이름의 목록을 요청합니다.
[out] pdwDataType
요청된 특성의 데이터 형식을 지정하는 값을 받는 메모리 위치에 대한 포인터입니다. 이 값은 printoem.h에 정의된 EATTRIBUTE_DATATYPE 열거자의 열거자입니다.
[out] pbData
요청된 데이터를 수신하는 호출자 제공 버퍼에 대한 포인터입니다. 요청을 수행하는 데 필요한 바이트 수를 쿼리하기만 하려면 이 매개 변수를 NULL로 설정합니다.
[in] cbSize
pbData가 가리키는 버퍼의 크기(바이트)를 지정합니다.
[out] pcbNeeded
요청된 데이터의 실제 크기(바이트)를 수신하는 메모리 위치에 대한 포인터입니다.
반환 값
이 메서드는 다음 값 중 하나를 반환해야 합니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
cbSize의 값은 출력 버퍼(pbData가 가리키는 버퍼)에 쓸 바이트 수보다 작습니다.
pbData를 NULL로 설정하여 메서드를 호출했습니다. |
|
메서드가 존재하지 않는 특성을 쿼리하려고 했습니다.
pdevobj 매개 변수가 잘못된 드라이버 컨텍스트 개체를 가리켰습니다. |
|
메서드가 실패했습니다. |
설명
pszAttribute 및 pbData 매개 변수를 NULL로 설정하여 이 메서드를 호출하면 지원되는 모든 전역 특성 이름 목록에 필요한 바이트 수로 설정된 *pcbNeeded가 있는 메서드가 반환됩니다. pszAttribute가 NULL로 설정되고 pbData가 이전 호출에서 *pcbNeeded에 지정된 크기의 버퍼를 가리키는 경우 메서드는 *pdwDataType이 kADT_ASCII(EATTRIBUTE_DATATYPE 열거형 형식의 열거자) 및 지원되는 모든 전역 특성 이름의 null로 구분된 목록을 가리키는 pbData로 반환됩니다. 이 목록은 두 개의 null 문자로 종료됩니다.
데이터 액세스당 두 번의 호출을 수행해야 하는 필요성을 줄이려면 메서드에 고정 크기(예: 1KB)의 출력 버퍼를 전달한 다음 함수 반환 값을 검사. 메서드가 S_OK 반환하는 경우 버퍼에는 이미 관심 있는 데이터가 포함됩니다. 메서드가 E_OUTOFMEMORY 반환하는 경우 *pcbNeeded 의 값은 관심 있는 데이터를 보유하는 데 필요한 버퍼 크기입니다. 그런 다음 호출자는 더 큰 크기의 버퍼를 할당하고 메서드에 대한 두 번째 호출을 진행해야 합니다.
이 메서드는 Pscript5 렌더링 플러그 인에 대해 지원됩니다.
자세한 내용은 GetGlobalAttribute 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | prcomoem.h(Prcomoem.h 포함) |