Compartilhar via


Thread Permissions for Windows Embedded CE 6.0 Driver Migration

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

No Windows CE 5.0 e versões anteriores, processo servidor bibliotecas tinham acessar para a reserva de um chamador desde execução demorou local no contexto do segmento do chamador. Outros segmentos, como ISTs não tinha acessar para a reserva do chamador e tiveram que chamar a função SetProcPermissions para definir a máscara de bits permissões internas para o segmento. Este habilitado acessar para o espaço de endereço do processo do chamador. O SetProcPermissions função é Não com suporte mais em Windows Embedded CE 6.0 e deve ser removida de um driver. O CeAllocAsynchronousBuffer função controla a reserva do chamador para a memória virtual de kernel. Isso elimina a necessidade para alteração de permissão do segmento.

Em Windows CE 5.0, um driver seria salvar as permissões de uma processo de chamada e, em seguida, defina permissões do driver segmento para incluir o processo de chamada, quando necessário. Após o processo de chamada concluído, segmento permissões do driver seria redefinir. O seguinte exemplo de código mostra segmento permissões para um driver em Windows Embedded CE 6.0.

// Pre-Windows Embedded CE 6.0
// In XXX_IOControl
g_callerThreadPermissions = GetProcPermissions();

// Some internal driver thread (probably an IST)
originalThreadPermissions = SetProcPermissions(g_callerThreadPermissions);
// Access g_pMappedEmbedded
SetProcPermissions(originalThreadPermissions);

// Now in Windows Embedded CE 6.0
// Just call CeAllocAsynchronousBuffer from the
// driver’s entry point
// The IST can always access the marshaled buffer.

See Also

Other Resources

Migrating a Windows Embedded CE Driver to Windows Embedded CE 6.0