다음을 통해 공유


ITabletContextP::UseSharedMemoryCommunications 메서드

태블릿 스레드 간에 공유되는 메모리에 대한 액세스를 제공합니다.

구문

HRESULT UseSharedMemoryCommunications(
  [in]  DWORD pid,
  [out] DWORD *phEventMoreData,
  [out] DWORD *phEventClientReady,
  [out] DWORD *phMutexAccess,
  [out] DWORD *phFileMapping
);

매개 변수

pid [in]

프로세스 ID입니다.

phEventMoreData [out]

새 데이터를 처리할 수 있을 때 신호를 전송하는 이벤트 핸들입니다.

phEventClientReady [out]

클라이언트가 데이터를 받을 준비가 되었음을 알리는 데 사용되는 반환된 이벤트 핸들입니다. 새 데이터를 처리한 후 신호를 보냅니다.

phMutexAccess [out]

공유 메모리에 대한 액세스 권한을 부여하는 뮤텍스입니다.

phFileMapping [out]

공유 메모리 블록에 대한 포인터입니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_FAIL
지정되지 않은 오류가 발생했습니다.

설명

UseSharedMemoryCommunications 메서드는 태블릿 PC 공유 메모리 프로토콜의 일부로 사용됩니다. Wisptis 서비스는 높은 무결성 수준(IL)을 가지기 때문에 권한을 상승시킬 필요 없이 공유 메모리에 저장된 데이터를 저장하고 액세스할 수 있습니다.

SHAREDMEMORY_HEADER 구조는 파일 매핑에서 참조하는 데이터에서 캐스팅되고 원시 패킷 데이터는 SHAREDMEMORY_HEADER 따릅니다. pdwEventClientReady에서 참조하는 이벤트가 발생하면 공유 메모리에서 원시 패킷 데이터를 읽을 수 있습니다.

다음 목록에서는 공유 메모리에 액세스하고 사용하기 위한 이벤트 시퀀스를 설명합니다.

  • 클라이언트는 clientReady 이벤트를 설정합니다.
  • 클라이언트는 moreData 이벤트를 기다립니다.
  • 클라이언트는 뮤텍스를 획득합니다.
  • 클라이언트는 패킷 뒤의 헤더 및 일련 번호 뒤에 있는 공유 메모리 섹션에서 패킷 데이터를 읽습니다.
  • 클라이언트는 dwEvent 값에 따라 데이터를 처리합니다.
  • 클라이언트는 -1(0xFFFFFFFF)을 dwEvent에 씁니다.
  • 클라이언트는 뮤텍스를 해제합니다.
  • 클라이언트는 clientReady 이벤트를 설정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버
지원되는 버전 없음
라이브러리
Wisptis.exe

추가 정보

ITabletContextP 인터페이스

UseNamedSharedMemoryCommunications