Usando um identificador de arquivo

A tabela a seguir lista as operações que os drivers podem executar em um identificador de arquivo e as rotinas correspondentes que executam essas operações.

Operação Rotina a ser chamada

Ler dados do arquivo.

ZwReadFile

Gravar dados no arquivo.

ZwWriteFile

Ler metadados para o identificador de arquivo ou arquivo.

ZwQueryInformationFile

Gravar metadados para o identificador de arquivo ou arquivo.

ZwSetInformationFile

Para indicar onde no arquivo começar a ler ou gravar dados, você passa um parâmetro ByteOffset para ZwReadFile ou ZwWriteFile, respectivamente.

Se você tiver aberto o identificador com acesso FILE_APPEND_DATA, todos os dados serão gravados no final do arquivo e o parâmetro ByteOffset será ignorado.

Em determinadas condições, o Gerenciador de e/s mantém um ponteiro de posição de arquivo atual para o arquivo. Você pode iniciar uma operação de leitura ou gravação nessa posição especificando NULL para ByteOffset. Para obter mais informações sobre quando existe o ponteiro de posição do arquivo atual, consulte usando a posição atual do arquivo mais adiante nesta seção.

Para examinar ou alterar informações sobre um arquivo, chame ZwQueryInformationFile ou ZwSetInformationFile, respectivamente. Você especifica o tipo específico de informações como o parâmetro FileInformationClass para cada rotina. Por exemplo, a configuração de FileInformationClass como FileBasicInformation permite que você examine ou altere uma estrutura FILE_BASIC_INFORMATION , que contém membros para a hora de criação do arquivo e a hora do último acesso, entre outros. Para obter informações sobre todos os valores possíveis para FileInformationClass, consulte FILE_INFORMATION_CLASS.