Compartilhar via


OEMIoControl

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função fornece um genérico E/S código de controle (IOCTL) para informações OEM-supplied.

Syntax

BOOL OEMIoControl( 
  DWORD dwIoControlCode, 
  LPVOID lpInBuf, 
  DWORD nInBufSize, 
  LPVOID lpOutBuf, 
  DWORD nOutBufSize, 
  LPDWORD lpBytesReturned 
);

Parameters

  • dwIoControlCode
    [no] IOCTL, que pode ser predefinido, ou qualquer OEM-defined código de controle. Para obter mais informações, consulte OAL IOCTLs.
  • lpInBuf
    [out] Ponteiro para o buffer de entrada que pode conter informações adicionais associado com o dwIoControlCode parâmetro.

    De exemplo, quando dwIoControlCode é definido como IOCTL_HAL_GET_DEVICE_INFO, lpInBuf Pode conter um codificar SPI. Para obter mais informações, consulte SystemParametersInfo.

  • nInBufSize
    [no] Tamanho em bytes do lpInBuf.

    De exemplo, quando dwIoControlCode é definido como IOCTL_HAL_GET_DEVICE_INFO e a entrada reserva contém codificar o SPI, nInBufsize é definido como o valor 4.

  • lpOutBuf
    [out] Ponteiro para o buffer de saída fornecido pelo chamador.

    A implementação deve local as informações solicitadas pelo dwIoControlCode e lpInBuf Parâmetros em lpOutBuf, Definir lpBytesReturned Para indicar o tamanho dos dados em lpOutbufe retornar TRUE.

    Se o tamanho das informações solicitadas ultrapassa o tamanho do buffer especificado por nOutBufSize, chamar a função SetLastError usando o sinalizador ERROR_INSUFFICIENT_BUFFER e FALSE de retorno.

  • nOutBufSize
    [no] Especifica o número máximo de bytes que podem ser retornados em lpOutBuf.

    O chamador define esse valor.

  • lpBytesReturned
    [no] Número de bytes retornados em lpOutBuf.

Return Value

Se essa função for bem-sucedido, ele retornará TRUE.

Se essa função falhar, ele retornará FALSE.

Remarks

Essa função é a maneira de retornar informações solicitadas pelo sistema a SystemParametersInfo função. Esta função deve ser implementada. Quando um driver de dispositivo ou rotina chama a rotina kernel KernelIoControl para transmitir um IOCTL, chamadas de kernel OEMIoControl.

O sistema pode ser Pre-empted quando esta função é chamado. O kernel não faz nenhum processamento mas passa os parâmetros diretamente para essa função. A função kernel é fornecida para permitir que um driver de dispositivo OEM para se comunicar com codificar OAL modo kernel.

A partir desta função, você pode fazer chamadas Windows Embedded CE API.

Quando personalizado adicionando IOCTLs manipulada por OEMIoControl, o último identificador usado é igual a 67 para kernel IOCTLs com base em FILE_DEVICE_HAL.

Função códigos 0 até 2047 são reservados para Microsoft; Códigos 2048 através de 4095 são reservados para os clientes.

Atualmente, as equipes de produto interno e externo clientes estão usando valores do intervalo de 1000 a 1100.

Melhores Práticas

Em Windows Embedded CE 6.0, chamadas para OEMIoControl** Passe por um componente modo kernel (oalioctl.dll). Este componente tem uma lista de usuário-acessível códigos OAL IOCTL. Se a chamar do aplicativo usuário for para um dos IOCTLs neste módulo, em seguida, a chamar será encaminhada para codificar a OAL. Caso contrário, os aplicativos modo usuário forma chamadas são rejeitados. Isso não tem impacto nas chamadas para OEMIoControl de drivers modo kernel. **

OEM pode adicionar ou excluir um codificar IOCTL dessa lista atualizando o seguinte arquivo origem: % _WINCEROOT%\public\common\oak\oalioctl\oalioctl.cpp.

Por padrão apenas o seguinte OAL IOCTL códigos é permitidos a partir de aplicativos modo usuário:

Iniciando com Windows Embedded CE 6.0, IOCTL_HAL_GET_DEVICEID e IOCTL_HAL_GET_UUID são substituído. Eles foram substituídos funcionalmente por novos códigos SPI_ * em IOCTL_HAL_GET_DEVICE_INFO. Para obter mais informações, consulte Device Information IOCTL Unification.

Requirements

Header kwin32.h
Library Nk.lib
Windows Embedded CE Windows CE 2.10 and later

See Also

Reference

OEMSetRealTime
IOCTL_HAL_GET_CACHE_INFO
IOCTL_HAL_GET_DEVICE_INFO
IOCTL_HAL_GET_DEVICEID
IOCTL_HAL_GET_UUID
IOCTL_PROCESSOR_INFORMATION

Concepts

Implementing the OEMIoControl Function
Device Information IOCTL Unification

Other Resources

KernelIoControl
SetKernelCommDev
SystemParametersInfo