2008-09-25 2 views
0

GDI 핸들이 '빅 윈도우'에서 고유하고 특정 프로세스임을 알고 있지만 Windows CE 6.0에서 동일한 방식으로 작동합니까?Windows CE 6.0에서 프로세스 간 GDI 핸들 공유

예 : 다른 여러 서비스 및 응용 프로그램에서 사용할 글꼴 관리 서비스가 있습니다. 이 서비스에는 인쇄 및 표시를위한 유효한 글꼴 및 구성 목록이 있습니다. CreateFontIndirect()가 각각 호출되었습니다. 이러한 클라이언트 응용 프로그램 중 하나가 특정 글꼴 (및 구성)을 요청하면 적절한 HFONT를 반환 할 수 있습니까? 그렇지 않다면, 커널 핸들을 위해 ala DuplicateHandle 핸들을 복제하는 안전하고 유효한 방법이 있습니까?

내가 물어 본 이유는 PostMessage가 올바르게 작동하여 다른 응용 프로그램으로 전달 된 HFONT를 본 적이 있지만 '생각'하지 못했기 때문입니다.

답변

1

나는 당신이 옳다고 믿는다. HFONT가 프로세스를 통과하는 것이 안전하다고 믿을 수는 없다.

'내가 묻는 이유는 PostMessage를 통해 다른 응용 프로그램으로 전달 된 HFONT가 제대로 작동한다는 것을 알았 기 때문입니다. 그러나 나는 생각하지 않았습니다.'라고 생각했습니다. '

제대로 전달되지 않았으므로 '예상'이 없습니다. HFONT는 프로세스에서 작동하지 않을 수도 있지만 은 고유 한 일 수 있습니다. 'Arial'은 각 응용 프로그램의 특정 버전과 특정 시점의 두 가지 차이 프로세스에서 동일한 HFONT 값을 가질 수 있으며 언제든지 변경할 수 있습니다 (사용 중반을 포함하여).

페인팅을하고, 오렌지 페인트를 다 써 버렸습니다. 제 오렌지 튜브는 제 3 튜브로 유지됩니다. 나는 당신의 easle에 다다를 수 있었고, 제 3의 tupe를 부여 잡을 수 있었다. .. 그러나 나는 그것이 오렌지 다라고하는 어떤 보증도 가지지 않고있다. .. 나는 그것이 심지어 페인트를 포함한다고 보증하지 않는다! 아마도 당신은 오늘 easle에서 치아를 닦고 있었다. .. oops!

GDI 핸들은이 예제에서 숫자 '3'과 유사합니다. 오늘날 GDI는 모든 easles에서 동일한 순서로 tubed를 유지할 것입니다. 그것들 중 일부는 순서대로 유지할 수도 있고 그렇지 않을 수도 있습니다 (예를 들어, 오렌지색 'sorta works', 그러나 'seafoam green'은 파열됩니다). 하나의 가전 기기에서 주문할 수 있지만 다른 기기에서는 주문할 수 없습니다.

항상 그렇듯이, YMMV.

+0

설명해 주셔서 감사합니다. 나는 [msft.public.windowsce.embedded] [1]과 디스크에 관한 질문을했습니다. (나는 생각한다) WinCE 구현과의 혼란을 보여준다. [1] : http://groups.google.com/group/microsoft.public.windowsce.embedded/browse_thread/thread/507a6fe50e1f2697?hl=ko# – DavidEBest