2017-03-11 27 views

回答

0

是的,到了什麼點PFLT_CONTEXT用戶定義的結構 - 所以你自己設計它的內容。您需要撥打電話FltAllocateContext進行分配。真是此功能分配更多然後爲保持引用計數ContextSize參數上分配的情況下(最初它等於1),並FSRTL_PER_STREAM_CONTEXT因爲FltSetStream[Handle]Context殼在FsRtlInsertPerStreamContextFsRtlInsertPerFileObjectContext更多Tracking Per-Stream Context in a Legacy File System Filter Driver

,如果你不FltGetStream[Handle]Context之前調用FltSetStream[Handle]Context - 你有NULL_CONTEXT(或簡單0)(更準確地說FltGetStream[Handle]Context返回錯誤STATUS_NOT_FOUND

如此反覆上下文微型過濾器驅動程序的定義結構(在傳統需要繼承012的上下文,但minifiletrs封裝了這個)

通常我們使用下一個代碼;

MY_STREAM_CONTEXT* Ctx;// your custom data 
if (0 <= FltGetStreamHandleContext(FltObjects->Instance, FltObjects->FileObject, (PFLT_CONTEXT*)&Ctx)) 
{ 
    //.. use Ctx 
    FltReleaseContext(Ctx); 
}