DeviceIoControl
9/8/2008
Essa função envia um IOCTL diretamente para um driver de dispositivo especificado, fazendo com que o correspondente dispositivo para executar a operação especificada.
Syntax
BOOL DeviceIoControl(
HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
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] IOCTL para a operação. Este valor identifica a operação específica para executar e o tipo de dispositivo no qual executar a operação. Há não valores específicos definidos para o dwIoControlCode parâmetro. No entanto, você pode definir personalizado IOCTL_XXX IOCTLs com o CTL_CODE macro. Em seguida, você pode anunciar que esses IOCTLs e um aplicativo pode usar esses IOCTLs com DeviceIoControl Para executar as funções driver-specific.Para obter mais informações sobre o CTL_CODE macro, consulte CTL_CODE.**
- lpInBuffer
[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 não requer entrada dados.
- nInBufferSize
[no] Tamanho, em bytes, da reserva apontado pelo lpInBuffer.
- lpOutBuffer
[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.
- nOutBufferSize
[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
Para alguns IOCTLs, tais quantos IOCTLs o IOCTL_DISK_ *, o DeviceIoControl função não alteração a lpBytesReturned parâmetro. Esses IOCTLs retornar quaisquer informações para o buffer de entrada especificado por lpOutBuffer. DeviceIoControl Define somente lpBytesReturned Quando o IOCTL grava lpOutBuffer.
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |