Compartilhar via


ForwardDeviceIoControl

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função permite que um driver para ENC E/S controles aos outros drivers quando o driver não sabe nada sobre o controle E/S, portanto, nenhuma validação será executada. O driver que é chamado em ainda tem a direcionar correto informações chamador para validação de parâmetro executar.

Syntax

BOOL ForwardDeviceIoControl (
  HANDLE hDevice,
  DWORD dwIoControlCode,
  LPVOID lpInBuf,
  DWORD nInBufSize,
  LPVOID lpOutBuf,
  DWORD nOutBufSize,
  LPDWORD lpBytesReturned,
  LPOVERLAPPED lpOverlapped
);

Parameters

  • hDevice
    [no] Identificador para o dispositivo que deve executar a operação. Para obter um identificador dispositivo, chamar a função CreateFile.
  • dwIoControlCode
    [no] Controle E/S para a operação. Este valor identifica a operação para executar e o tipo de dispositivo no qual executá-lo. Há não valores específicos definidos para o dwIoControlCode parâmetro. No entanto, você pode definir personalizado IOCTL_XXX IOCTLs com a macro CTL_CODE. Em seguida, você pode anunciar esses controles E/S, e aplicativos podem usá-los com DeviceIoControl para executar operações específicas do driver.
  • lpInBuf
    [no] Ponteiro longo para uma reserva que contém os dados exigido para executar a operação. Definir como NULL se o dwIoControlCode parâmetro especifica uma operação que entrada dados não não exigido.
  • nInBufSize
    [no] Tamanho, em bytes, da reserva apontado pelo lpInBuffer.
  • lpOutBuf
    [out] Ponteiro longo para uma reserva que recebe dados de saída para a operação. Definir como NULL se o dwIoControlCode parâmetro especifica uma operação que não gerar saída dados.
  • nOutBufSize
    [out] Tamanho, em bytes, da reserva apontado pelo lpOutBuffer.
  • lpBytesReturned
    [out] Ponteiro longo para uma variável que recebe o tamanho, em bytes, dos dados armazenados em lpOutBuffer. O DeviceIoControl função desnecessariamente pode usar esse parâmetro. De exemplo, se uma operação não gerar dados para lpOutBuffer e lpOutBuffer é NULL, o valor de lpBytesReturned Não faz sentido.
  • lpOverlapped
    [no] Ignorada; Definir como NULL.

Return Value

Nonzero indica sucesso. Zero indica falha. Para obter informações de erro estendidas, chamar a função GetLastError.

Remarks

Este é o mesmo que o DeviceIoControl função, com uma exceção. Quando chamado de modo kernel, essa função não alteração a direcionar chamador para o kernel, enquanto DeviceIoControl Altera a direcionar chamador. Isto é, ela permanecerá a mesma direcionar chamador como o chamador desta função.

Requirements

Header pkfuncs.h
Library coredll.lib
Windows Embedded CE Windows Embedded CE 6.0 and later

See Also

Reference

Kernel Functions
GetCallerVMProcessId
GetDirectCallerProcessId

Concepts

New Kernel APIs

Other Resources

CreateFile
CTL_CODE
DeviceIoControl