Compartilhar via


Window Classes

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

As classes janela para o serviço compartilhado biblioteca de códigos Soquete PC Card podem ser encontradas em % _WINCEROOT%\Public\Common\Oak\Drivers\PCCard\Common\Pcmciacardlib.h. Essas classes janela podem ser usadas para definir e recuperar memória e E/S janela Propriedades.

Uma implementação janela deve existir para cada Soquete. A implementação Windows de uma Soquete deve chamadas identificador para o CardInquireWindow, CardGetWindow, e CardSetWindow funções Soquete.

O CPcmciaWindowImpl classe modelo é o classe base para todas as classes janela. Ele fornece um padrão implementação para o CardInquireWindow e CardGetWindow funções. Muitos os métodos no modelo classe são métodos virtuais e devem ser implementados em um classe derivada.

O CPcmciaMemWindowImpl e CPcmciaIoWindowImpl classe modelos são derivado a partir de CPcmciaWindowImpl modelo classe. Essas classes contém funcionalidade adicional que deve fornecer uma memória ou objeto janela E/S. O CPcmciaMemWindowImpl modelo é usado para implementar o CardSetWindow função de uma janela memória. O PcmciaIoWindowImpl modelo é usado para implementar CardSetWindow Para uma janela E/S. Eles são destinados ao uso com dinâmico janelas, como memória e janelas E/S que podem tamanho alteração ou localidade na memória. O CPcmciaMemWindowImpl e CPcmciaIoWindowImpl As classes devem ser personalizado por substituindo funções membro virtual usadas para calcular o endereço de base janela, deslocamento, tamanho, programação janela hardware-specific, inicialização e limpeza.

Uma implementação exemplo desses modelos pode ser encontrada em % _WINCEROOT%\Public\Common\Oak\Drivers\PCCard\i82365.

O seguinte exemplo de código mostra os métodos fornecidos por CPcmciaMemWindowImpl e CPcmciaIoWindowImpl.

STATUS CardInquireWindow(PSS_WINDOW_INFO pWinInfo);
STATUS CardGetWindow(PSS_WINDOW_STATE pWindowState);
STATUS CardSetWindow(PSS_WINDOW_STATE pWindowState);
void Initialize();
void Deinitialize();

O seguinte exemplo de código mostra o membro virtual funções que devem ser fornecidas um derivado classe janela.

virtual void FreeResources(); \\Frees window resources
virtual void DisableWindow(); \\Disables the window
virtual void ProgramWindow(); \\Programs the memory window
virtual DWORD GetNewOffset(PSS_WINDOW_STATE pWindowState, DWORD dwNewOffset); \\Calculates the new window offset
virtual DWORD GetNewLength(PSS_WINDOW_STATE pWindowState, DWORD dwNewOffset); \\Calculates the new window size
virtual BOOL GetBaseAddress(PSS_WINDOW_STATE pWindowState, DWORD dwNewOffset, DWORD dwNewLength, DWORD& dwNewBaseAddress); \\Calculates the base address and allocate any resources for the window

São as funções membro virtual chamado pelo classe base, conforme necessário para manipular o hardware janela. Ele pode não ser possível executar inicialização e operações limpeza do construtor modelo classe janela de base ou destrutor desde a inicialização janela e codificar limpeza requer chamadas para codificar hardware-specific. Isso pode ser evitado pelo chamado de Inicializar e Deinitialize funções para o derivado classe janela do construtor ou deconstructor.

See Also

Concepts

PC Card Socket Service Shared Code Library
Socket Class
Bridge Base Class
Static Window Classes
PC Card Socket Service Shared Code Library Registry Settings