Função NdisOpenFile (ndis.h)
A função NdisOpenFile retorna um identificador para um arquivo aberto.
Sintaxe
void NdisOpenFile(
[out] PNDIS_STATUS Status,
[out] PNDIS_HANDLE FileHandle,
[out] PUINT FileLength,
[in] PNDIS_STRING FileName,
[in] NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);
Parâmetros
[out] Status
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna o status da operação de arquivo aberto, que pode ser um dos seguintes:
NDIS_STATUS_SUCCESS
O identificador em FileHandle é válido para uma chamada subsequente para NdisMapFile.
NDIS_STATUS_FILE_NOT_FOUND
A cadeia de caracteres fornecida em FileName não especificou um nome encontrado no namespace do objeto do sistema.
NDIS_STATUS_RESOURCES
O NDIS não pôde alocar os recursos necessários para abrir o arquivo e alocar um buffer para o conteúdo do arquivo.
NDIS_STATUS_ERROR_READING_FILE
Os dados do arquivo especificado não puderam ser lidos na memória do sistema para acesso subsequente pelo chamador.
[out] FileHandle
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retornará o identificador do arquivo aberto se a chamada for bem-sucedida.
[out] FileLength
Um ponteiro para uma variável fornecida pelo chamador na qual essa função grava o número de bytes de dados no arquivo aberto se a chamada for bem-sucedida.
[in] FileName
Um ponteiro para um tipo de NDIS_STRING que contém uma cadeia de caracteres contada inicializada, no conjunto de caracteres padrão do sistema, nomeando o arquivo a ser aberto. Para drivers windows 2000 e posteriores, essa cadeia de caracteres contém caracteres Unicode. Ou seja, para o Windows 2000 e posterior, o NDIS define o tipo de NDIS_STRING como um tipo de UNICODE_STRING.
[in] HighestAcceptableAddress
O endereço físico mais alto no qual os dados do arquivo podem ser armazenados ou especifica -1 se o driver não colocar nenhuma restrição.
Valor de retorno
Nenhum
Observações
NdisOpenFile abre um arquivo de disco, normalmente um arquivo que o driver baixará posteriormente para programar uma NIC inteligente. NdisOpenFile também aloca armazenamento para armazenar o conteúdo do arquivo para a chamada subsequente do driver para a função NdisMapFile.
Um driver de miniporto deve chamar NdisOpenFile somente da função MiniportInitializeEx.
Quando NdisOpenFile retorna, o driver de miniporto pode acessar dados de arquivo chamando NdisMapFile. Ele pode chamar a função NdisUnmapFile para remover o arquivo para que ele não consuma recursos desnecessariamente enquanto o driver não estiver acessando os dados do arquivo. Quando terminar de usar o arquivo, MiniportInitializeEx deve chamar o
função NdisCloseFile.
Nota
NdisOpenFile, NdisCloseFile, NdisMapFile e NdisUnmapFile não têm suporte no ARM64. No ARM64, substitua essas funções por chamadas para ZwCreateFile, ZwReadFile ou outras operações semelhantes.