Compartilhar via


CTL_CODE

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Esta macro cria um exclusivo sistema E/S controle codificar (IOCTL).

Syntax

#define CTL_CODE(      DeviceType, Function, Method, Access) (
  ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))

Parameters

  • DeviceType
    Define o tipo de dispositivo para o IOCTL determinado.

    Este parâmetro não pode ser Nenhum maior do que um valor Word.

    Os valores usados por Microsoft são no intervalo 0-32767; Os valores 32768-65535 são reservados para usam os OEMs e IHVs.

    O seguinte dispositivo tipos são definidos pelo sistema:

    • FILE_DEVICE_BEEP
    • FILE_DEVICE_CD_ROM
    • FILE_DEVICE_CD_ROM_FILE_SYSTEM
    • FILE_DEVICE_CONTROLLER
    • FILE_DEVICE_DATALINK
    • FILE_DEVICE_DFS
    • FILE_DEVICE_DISK
    • FILE_DEVICE_DISK_FILE_SYSTEM
    • FILE_DEVICE_FILE_SYSTEM
    • FILE_DEVICE_INPORT_PORT
    • FILE_DEVICE_KEYBOARD
    • FILE_DEVICE_MAILSLOT
    • FILE_DEVICE_MIDI_IN
    • FILE_DEVICE_MIDI_OUT
    • FILE_DEVICE_MOUSE
    • FILE_DEVICE_MULTI_UNC_PROVIDER
    • FILE_DEVICE_NAMED_PIPE
    • FILE_DEVICE_NETWORK
    • FILE_DEVICE_NETWORK_BROWSER
    • FILE_DEVICE_NETWORK_FILE_SYSTEM
    • FILE_DEVICE_NULL
    • FILE_DEVICE_PARALLEL_PORT
    • FILE_DEVICE_PHYSICAL_NETCARD
    • FILE_DEVICE_PRINTER
    • FILE_DEVICE_SCANNER
    • FILE_DEVICE_SERIAL_MOUSE_PORT
    • FILE_DEVICE_SERIAL_PORT
    • FILE_DEVICE_SCREEN
    • FILE_DEVICE_SOUND
    • FILE_DEVICE_DEVICE_STREAMS
    • FILE_DEVICE_TAPE
    • FILE_DEVICE_TAPE_FILE_SYSTEM
    • FILE_DEVICE_TRANSPORT
    • FILE_DEVICE_UNKNOWN
    • FILE_DEVICE_VIDEO
    • FILE_DEVICE_VIRTUAL_DISK
    • FILE_DEVICE_WAVE_IN
    • FILE_DEVICE_WAVE_OUT
    • FILE_DEVICE_8042_PORT
    • FILE_DEVICE_NETWORK_REDIRECTOR
    • FILE_DEVICE_BATTERY
    • FILE_DEVICE_BUS_EXTENDER
    • FILE_DEVICE_MODEM
    • FILE_DEVICE_VDM
    • FILE_DEVICE_MASS_STORAGE
    • FILE_DEVICE_SMB
    • FILE_DEVICE_KS
    • FILE_DEVICE_CHANGER
    • FILE_DEVICE_SMARTCARD
    • FILE_DEVICE_ACPI
    • FILE_DEVICE_DVD
    • FILE_DEVICE_FULLSCREEN_VIDEO
    • FILE_DEVICE_DFS_FILE_SYSTEM
    • FILE_DEVICE_DFS_VOLUME

    O seguinte dispositivo tipos são específicos para Windows Embedded CE:

    • FILE_DEVICE_HAL
    • FILE_DEVICE_CONSOLE
    • FILE_DEVICE_PSL
    • FILE_DEVICE_SERVICE
  • Função
    Define uma ação na categoria de dispositivo.

    Função códigos 0-2047 são reservados para Microsoft; Códigos 2048-4095 são reservados para os OEMs e IHVs.

    Codificar uma função não pode ser Nenhum maior, em seguida, 4095.

  • Método
    Define os códigos método para como buffers são passados para controles E/S e sistema de arquivos.

    O seguinte valores são possíveis para esse parâmetro:

    • METHOD_BUFFERED
    • METHOD_IN_DIRECT
    • METHOD_OUT_DIRECT
    • METHOD_NEITHER

    Este campo é ignorado pelo Windows Embedded CE. Você sempre deve usar o valor METHOD_BUFFERED, a menos que compatibilidade com área de trabalho Windows-Based plataformas está exigido usando um diferentes Método valor.

  • Acesso
    Define o valor caixa de seleção de acesso para qualquer acessar.

    A seguinte tabela mostra os sinalizadores possíveis para esse parâmetro. O FILE_ANY_ACCESS é geralmente o valor correto.

    Sinalizador Descrição

    FILE_ANY_ACCESS

    Solicite acessar todos os.

    FILE_READ_ACCESS

    Solicitação ler acessar. Pode ser usado com FILE_WRITE_ACCESS.

    FILE_WRITE_ACCESS

    Solicite acesso de gravação. Pode ser usado com FILE_READ_ACCESS.

Return Value

Nenhum.

Remarks

A macro pode ser usada para definir os códigos controle função IOCTL e FSCTL. Todos os IOCTLs devem ser definidas dessa maneira para garantir que valores usados por Microsoft, os OEMs e IHVs não sobreposição.

A seguinte ilustração mostra o formato do IOCTL resultante.

Aa914767.300a9979-620d-4ab2-9094-03e3fdfa9dcb(pt-BR,WinEmbedded.60).gif

Requirements

Header windev.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Other Resources

DeviceIoControl