CTL_CODE
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.
Requirements
Header | windev.h |
Windows Embedded CE | Windows CE .NET 4.0 and later |