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。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista 中支援 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 NdisMapFile (NDIS 5.1) 。 支援 Windows XP 中的 NDIS 5.1 驅動程式(請參閱 NdisMapFile (NDIS 5.1)。 |
目標平臺 | 普遍 |
標頭 | ndis.h (包括 Video.h) |
連結庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_Miscellaneous_Function(ndis) |