共用方式為


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)

另請參閱

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile