取得內容
一旦迷你篩選驅動程式 已設定物件的內容 ,就可以呼叫下列其中一個 get 常式來取得內容:
- FltGetCoNtexts
- FltGetCoNtextsEx
- FltGetFileCoNtext
- FltGetInstanceCoNtext
- FltGetStreamCoNtext
- FltGetStreamHandleCoNtext
- FltGetTransactionCoNtext
- FltGetVolumeCoNtext
每個成功的取得常式都會遞增內容上的參考計數,要求迷你篩選在不再需要內容指標時呼叫 FltReleaseCoNtext 。
在下列程式碼範例中,取自 SwapBuffers 範例 minifilter,minifilter 驅動程式會呼叫 FltGetVolumeCoNtext 以取得磁片區內容:
status = FltGetVolumeContext(
FltObjects->Filter, //Filter
FltObjects->Volume, //Volume
&volCtx); //Context
...
if (volCtx != NULL) {
FltReleaseContext(volCtx);
}
如果 呼叫 FltGetVolumeCoNtext 成功, CoNtext 參數就會接收呼叫端磁片區內容的位址。 FltGetVolumeCoNtext 會遞增 內容 指標上的參考計數。 因此,當不再需要此指標時,迷你篩選驅動程式必須呼叫 FltReleaseCoNtext來釋放它。