Функция StorPortGetPfns (storport.h)
Минипорт может вызывать StorPortGetPfns, чтобы получить номера кадров страницы (Pfns) для памяти, описанной указанным списком MDL (список дескрипторов памяти), связанного с SRB.
Синтаксис
ULONG StorPortGetPfns(
[in] PVOID HwDeviceExtension,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Mdl,
[out] PVOID *Pfns,
[out] ULONG *PfnCount,
[out] ULONG *StartingOffset
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства. Это область хранения HBA, которую драйвер портов выделяет и инициализирует от имени мини-порта.
Драйверы минипорта обычно хранят сведения, относящиеся к HBA, в этом расширении, например состояние HBA и сопоставленные диапазоны доступа для HBA. Эта область доступна для минипорт-драйвера в DeviceExtension->HwDeviceExtension член объекта устройства для HBA сразу после вызова StorPortInitialize. Драйвер портов освобождает эту память при удалении устройства.
[in] Srb
Указатель на исходный блок запроса SCSI (SRB). Начиная с Windows 8 параметр Srb может указывать на SCSI_REQUEST_BLOCK или STORAGE_REQUEST_BLOCK.
[in] Mdl
Указатель на MDL, для которого запрашиваются Pfns. Поддерживаются только многомерные выражения, полученные с помощью StorPortGetOriginalMdl или StorPortGetDataInBufferMdl.
[out] Pfns
Указатель на массив Pfns, связанный с MDL. Вызывающие абоненты не должны изменять, обновлять или освобождать список.
[out] PfnCount
Число Pfns в массиве, на который Pfns указывает.
[out] StartingOffset
Указывает смещение байтов на начальной странице буфера, описанного заданным MDL.
Возвращаемое значение
StorPortGetPfns возвращает один из следующих кодов состояния:
Возвращаемый код | Описание |
---|---|
STOR_STATUS_NOT_IMPLEMENTED | Эта функция не реализована в активной операционной системе. |
STOR_STATUS_SUCCESS | Функция успешно завершена. |
STOR_STATUS_INVALID_PARAMETER | Указатель на один из параметров — null. |
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | storport.h |