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 retorna 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 do 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 NDIS_STRING como um tipo de UNICODE_STRING .
[in] HighestAcceptableAddress
O endereço físico mais alto no qual os dados de arquivo podem ser armazenados ou especifica -1 se o driver não colocar nenhuma restrição.
Retornar valor
Nenhum
Comentários
NdisOpenFile abre um arquivo de disco, normalmente um arquivo que o driver baixará posteriormente para programar uma NIC inteligente. O 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 miniporte deve chamar NdisOpenFile somente da função MiniportInitializeEx .
Quando NdisOpenFile retorna, o driver de miniport pode acessar dados de arquivo chamando NdisMapFile. Ele pode chamar a função NdisUnmapFile para remover a página do 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 deverá chamar o
Função NdisCloseFile .
Observação
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.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisOpenFile (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisOpenFile (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | Irql_Miscellaneous_Function(ndis) |