Função NdisMapFile (ndis.h)
A função NdisMapFile mapeia um arquivo já aberto para um buffer acessível pelo chamador se o arquivo não for mapeado no momento.
Sintaxe
void NdisMapFile(
[out] PNDIS_STATUS Status,
[out] PVOID *MappedBuffer,
[in] NDIS_HANDLE FileHandle
);
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 mapeamento, que pode ser um dos seguintes:
NDIS_STATUS_SUCCESS
O chamador tem acesso exclusivo ao conteúdo do arquivo até que a função NdisUnmapFile seja chamada.
NDIS_STATUS_ALREADY_MAPPED
O chamador não pode acessar o conteúdo do arquivo no momento.
[out] MappedBuffer
Um ponteiro para uma variável fornecida pelo chamador na qual essa função retorna o endereço virtual base do conteúdo do arquivo mapeado ou NULL.
[in] FileHandle
O identificador que foi retornado por uma chamada anterior à função NdisOpenFile.
Valor de retorno
Nenhum
Observações
NdisMapFile associa (mapas) um intervalo de endereços virtuais a um arquivo aberto para que o driver possa acessar o conteúdo do arquivo. NdisMapFile permite que apenas um mapeamento de um arquivo específico esteja pendente a qualquer momento. Consequentemente, um chamador bem-sucedido recebe acesso exclusivo aos dados do arquivo até que NdisUnmapFile ou a função NdisCloseFile seja chamada.
Um driver de miniporto pode mapear e cancelar o mapa de um arquivo aberto conforme necessário, usando chamadas alternadas para NdisMapFile e NdisUnmapFile. Uma chamada para NdisCloseFile libera o FileHandle e desaloca o buffer que contém o conteúdo do arquivo.
Um driver de miniporto pode chamar NdisMapFile somente durante a inicialização.