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 驅動程式,請參閱 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) |