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 隨時只允許一個特定檔案的對應未處理。 因此,成功呼叫端會獲得檔案數據的獨佔存取權,直到 呼叫 NdisUnmapFileNdisCloseFile 函 式為止。

迷你埠驅動程式可以視需要對應和取消對應這類開啟的檔案,並使用 對 NdisMapFileNdisUnmapFile 的替代呼叫。 對 NdisCloseFile 的呼叫會釋放 FileHandle ,並解除分配包含檔案內容的緩衝區。

迷你埠驅動程式只能在初始化期間呼叫 NdisMapFile

規格需求

需求
最低支援的用戶端 (支援 NDIS 6.0 和 NDIS 5.1 驅動程式,請參閱 Windows Vista 中的 NdisMapFile (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisMapFile (NDIS 5.1) ) 。
目標平台 Universal
標頭 ndis.h (包含 Video.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_Miscellaneous_Function (ndis)

另請參閱

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile