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


Функция 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 .

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

None

Remarks

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 (включая Video.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также раздел

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile