Função FltDeviceIoControlFile (fltkernel.h)
FltDeviceIoControlFile envia um código de controle diretamente para um driver de dispositivo especificado, fazendo com que o driver correspondente execute a ação especificada.
Sintaxe
NTSTATUS FLTAPI FltDeviceIoControlFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] ULONG IoControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[out, optional] PULONG LengthReturned
);
Parâmetros
[in] Instance
Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.
[in] FileObject
Ponteiro de objeto de arquivo para o arquivo ou dispositivo que é o destino dessa solicitação. Esse parâmetro é necessário e não pode ser NULL.
[in] IoControlCode
IOCTL_códigoXXX que indica qual operação de E/S do dispositivo deve ser executada. O valor desse parâmetro determina os formatos e os comprimentos necessários de InputBuffer e OutputBuffer e determina quais dos seguintes pares de parâmetros (InputBuffer e InputBufferLength ou OutputBuffer e OutputBufferLength) são necessários.
[in, optional] InputBuffer
Ponteiro para um buffer de entrada alocado pelo chamador que contém informações específicas do dispositivo a serem fornecidas ao driver de destino. Se o parâmetro IoControlCode especificar uma operação que não exige dados de entrada, esse parâmetro será opcional e poderá ser NULL.
[in] InputBufferLength
Tamanho, em bytes, do buffer em InputBuffer. Esse valor será ignorado se InputBuffer for NULL.
[out] OutputBuffer
Ponteiro para um buffer de saída alocado pelo chamador no qual as informações são retornadas do driver de destino. Se o parâmetro IoControlCode especificar uma operação que não exige dados de saída, esse parâmetro será opcional e poderá ser NULL.
[in] OutputBufferLength
Tamanho, em bytes, do buffer em OutputBuffer. Esse valor será ignorado se OutputBuffer for NULL.
[out, optional] LengthReturned
Ponteiro para uma variável alocada pelo chamador que recebe o tamanho, em bytes, das informações retornadas no buffer em OutputBuffer. Esse parâmetro é opcional e pode ser NULL.
Retornar valor
FltDeviceIoControlFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado.
Comentários
Para obter mais informações sobre os códigos IOCTL_XXX definidos pelo sistema, consulte a seção Comentários da entrada de referência para DeviceIoControl na documentação do SDK do Microsoft Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
IRQL | PASSIVE_LEVEL |