Compartilhar via


IOControl

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função, exportada pela ISR DLL instalável, permite que um caminho de comunicação do segmento de serviço interrupção (ist) para o ISR.

Syntax

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

Parameters

  • dwInst
    [no] Valor que identifica a instância do manipulador de ISR.
  • dwIoControlCode
    [no] Controlar codificar para a operação. Este valor identifica a operação específica para ser realizado e o tipo de dispositivo no qual executá-lo.
  • lpInBuf
    [no] Ponteiro para uma reserva que contém os dados exigido para executar a operação. Este parâmetro pode ser NULL se o dwIoControlCode parâmetro especifica uma operação que não requer entrada dados.
  • nInBufSize
    [no] Tamanho, em bytes, da reserva apontado pelo lpInBuffer.
  • lpOutBuf
    [out] Ponteiro para uma reserva que recebe dados saída da operação. Este parâmetro pode ser NULL se o dwIoControlCode parâmetro especifica uma operação que não gerar saída dados.
  • nOutBufSize
    [no] Tamanho, em bytes, da reserva apontado pelo lpOutBuffer.
  • lpBytesReturned
    [out] Ponteiro para uma variável que recebe o tamanho, em bytes, dos dados armazenados na reserva apontado pelo lpOutBuffer.

    Se a reserva saída é muito pequena para retornar dados, o chamar falhar, o GetLastError função retorna o código de erro ERROR_INSUFFICIENT_BUFFER e o contagem de bytes retornado é zero.

    Se a reserva saída só pode conter alguns dados, a falha chamar, o OS retorna o máximo de informações possível, GetLastError Retorna o código de erro ERROR_MORE_DATA, e lpBytesReturned Indica a quantidade de dados retornados.

    Seu aplicativo deve, em seguida, chamar o DeviceIoControl função novamente com a mesma operação, especificando uma nova raiz.

Return Value

Se a função for bem-sucedido, TRUE é retornado; caso contrário, FALSE é retornado.

Remarks

IOControl devem ser exportados para qualquer DLL que implementa instalável ISR. IOControl Fornece uma maneira memória compartilhar e informações entre o ist e ISR.

Para obter mais informações sobre instaláveis ISRs, E/S controle códigos enviados para um ISR instalável e outras funções exportadas pelo ISR DLL instalável, consulte ISRs instaláveis.

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

Os códigos função 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.

Requirements

Header Developer Implemented
Library Developer Implemented
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Other Resources

KernelLibIoControl
Installable ISRs and the Kernel