FltGetStreamHandleContext的第三個參數的結構是用戶定義的結構嗎?在通過FltGetStreamHandleContext獲取上下文之前,您是否必須通過FltSetStreamHandleContext函數預定義上下文?對於使用翻譯者造成的不便,我們深表歉意。FltGetStreamHandleContext和FltSetStreamHandleContext函數
0
A
回答
0
是的,到了什麼點PFLT_CONTEXT
是用戶定義的結構 - 所以你自己設計它的內容。您需要撥打電話FltAllocateContext
進行分配。真是此功能分配更多然後爲保持引用計數ContextSize參數上分配的情況下(最初它等於1),並FSRTL_PER_STREAM_CONTEXT
因爲FltSetStream[Handle]Context
殼在FsRtlInsertPerStreamContext
或FsRtlInsertPerFileObjectContext
(更多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);
}
相關問題
- 1. 函數和函數參數列表
- 2. 函數和Dictonary
- 3. 類和函數
- 4. MDX和函數
- 5. 類和函數
- 6. Python和函數
- 7. 函數指針和函子
- 8. 瞭解fminunc參數和匿名函數,函數處理函數
- 9. Javascript函數和嵌套函數
- 10. C++ 11/lambda函數和函數指針
- 11. C++函數指針和回調函數
- 12. 構造函數和析構函數
- 13. every()some()和函數返回函數
- 14. 哈希模板元函數和函數
- 15. IF函數和嵌套函數
- 16. 函數刪除和新函數激活
- 17. Scheme,高階函數和curried函數
- 18. C++類,構造函數和函數
- 19. scala中的函數和函數文字
- 20. 繪製函數和派生函數
- 21. 拷貝構造函數和函數從
- 22. 比較變異函數和variog函數
- 23. 函數指針和正常函數
- 24. strncat函數和函數strncpy幫助C++
- 25. 構造函數和析構函數 - C++
- 26. 函數和構造函數的區別
- 27. 函數和函數名錯誤
- 28. 函數到方案和函數SQL
- 29. 區分python函數和類函數
- 30. 用javascript函數求和函數