Поделиться через


Функция NdisMapFile (ndis.h)

Функция NdisMapFile сопоставляет уже открытый файл с буфером, доступным для вызывающего объекта, если файл в настоящее время не сопоставлен.

Синтаксис

void NdisMapFile(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *MappedBuffer,
  [in]  NDIS_HANDLE  FileHandle
);

Параметры

[out] Status

Указатель на указанную вызывающим переменную, в которой эта функция возвращает состояние операции сопоставления, которая может быть одной из следующих:

NDIS_STATUS_SUCCESS

Вызывающий объект имеет монопольный доступ к содержимому файла до вызова функции NdisUnmapFile.

NDIS_STATUS_ALREADY_MAPPED

Вызывающий объект не может получить доступ к содержимому файла в настоящее время.

[out] MappedBuffer

Указатель на указанную вызывающим переменную, в которой эта функция возвращает базовый виртуальный адрес сопоставленного содержимого файла или NULL.

[in] FileHandle

Дескриптор, возвращенный предыдущим вызовом функции NdisOpenFile.

Возвращаемое значение

Никакой

Замечания

NdisMapFile связывает диапазон виртуальных адресов с открытым файлом, чтобы драйвер смог получить доступ к содержимому файла. NdisMapFile позволяет в любое время выдаться только одно сопоставление определенного файла. Следовательно, успешный вызывающий объект получает монопольный доступ к данным файла, пока не вызывается NdisUnmapFile или функция NdisCloseFile.

Минипорт-драйвер может сопоставлять и распаковывать открытый файл по мере необходимости, используя чередующиеся вызовы NdisMapFile и NdisUnmapFile. Вызов NdisCloseFile освобождает FileHandle и освобождает буфер, содержащий содержимое файла.

Минипорт-драйвер может вызывать NdisMapFile только во время инициализации.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisMapFile (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisMapFile (NDIS 5.1)) в Windows XP.
целевая платформа Всеобщий
заголовка ndis.h (include Video.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile