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