Compartilhar via


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)

Confira também

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING