다음을 통해 공유


EngSetPointerTag 함수(winddi.h)

EngSetPointerTag 함수는 Windows 2000 이상 운영 체제 버전에서는 사용되지 않습니다. 이 함수는 계속 지원되지만 항상 FALSE를 반환 합니다.

EngSetPointerTag 는 미러 시스템의 다른 연결된 드라이버에 대한 DrvSetPointerShape 호출에서 애플리케이션의 포인터 셰이프와 결합된 셰이프를 만듭니다.

구문

ENGAPI BOOL EngSetPointerTag(
  [in] HDEV     hdev,
  [in] SURFOBJ  *psoMask,
  [in] SURFOBJ  *psoColor,
  [in] XLATEOBJ *pxlo,
  [in] FLONG    fl
);

매개 변수

[in] hdev

디바이스에 대한 핸들입니다. 이 핸들은 드라이버가 DrvCompletePDEV에 대한 hdev 매개 변수로 받은 GDI 핸들입니다.

[in] psoMask

태그의 단색 구성 요소를 설명하는 1bpp SURFOBJ 구조체에 대한 포인터입니다. 이 비트맵의 차원은 태그의 크기를 결정합니다. 태그 크기에는 암시적 제약 조건이 없지만 최적의 태그 크기는 32 x 32, 48 x 48 및 64 x 64 픽셀입니다. GDI는 이 값이 NULL이면 현재 태그를 제거합니다.

[in] psoColor

호출 드라이버와 동일한 색 형식의 SURFOBJ 구조체에 대한 포인터입니다. 태그에 색 구성 요소가 없는 경우 이 값은 NULL 일 수 있습니다. 색 비트맵의 너비는 psoInputMask 와 같고 높이는 절반입니다.

[in] pxlo

시스템 사용을 위해 예약됨; 은 NULL로 설정해야 합니다.

[in] fl

시스템 사용을 위해 예약됨; 를 0으로 설정해야 합니다.

반환 값

EngSetPointerTag 는 태그를 성공적으로 적용하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환합니다. Windows 2000 이상에서는 이 함수가 항상 FALSE를 반환합니다.

설명

원격 제어 드라이버는 EngSetPointerTag 를 호출하여 포인터 셰이프에 태그를 지정하여 시스템 제어를 나타낼 수 있습니다. 원격 제어 드라이버가 태그를 설정하면 GDI는 드라이버가 태그를 제거하거나 변경할 때까지 시스템에서 생성된 모든 포인터 셰이프와 자동으로 합성합니다.

EngSetPointerShape를 호출하는 드라이버는 GDI의 자체 DrvSetPointerShape 호출에 적용된 자체 태그를 가져오지 않습니다. 미러 시스템의 다른 드라이버만 태그를 적용합니다.

psoColorNULL인 경우 psoMask는 너비보다 두 배 높은 단색 표면을 가리킵니다. 위쪽 절반은 흑백 및 마스크를 포함하고, 아래쪽 절반은 흑백 XOR 마스크를 포함합니다.

psoColorNULL이 아닌 경우 psoMask에는 단색 AND 마스크만 포함되고 psoColor에는 XOR 색 표면이 포함됩니다. 이 색 표면은 드라이버와 동일한 색 형식이어야 합니다. GDI는 각 비트맵의 왼쪽 위 모서리를 고정하여 셰이프를 조인합니다.

GDI는 psoMaskpsoColor의 복사본을 만들므로 EngSetPointerTag를 호출한 후 드라이버에서 전달한 표면을 즉시 삭제할 수 있습니다.

EngSetPointerTag의 결과는 시스템에서 생성된 다음 포인터 셰이프 호출에 적용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 winddi.h(Winddi.h 포함)
라이브러리 Win32k.lib
DLL Win32k.sys

추가 정보

DrvSetPointerShape

EngSetPointerShape

SURFOBJ