Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После установки контекста для объекта драйвер минифильтра он может получить контекст, вызвав одну из следующих процедур получения:
- FltGetContexts
- FltGetContextsEx
- FltGetFileContext
- FltGetInstanceContext
- FltGetStreamContext
- FltGetStreamHandleContext
- FltGetTransactionContext
- FltGetVolumeContext
Каждое успешное получение подпрограммы увеличивает количество ссылок в контексте, требуя, чтобы мини-фильтр вызывал FltReleaseContext , когда он больше не нуждается в указателе контекста.
В следующем примере кода, взятом из примера минифильтра SwapBuffers, драйвер минифильтра вызывает FltGetVolumeContext для получения контекста тома:
status = FltGetVolumeContext(
FltObjects->Filter, //Filter
FltObjects->Volume, //Volume
&volCtx); //Context
...
if (volCtx != NULL) {
FltReleaseContext(volCtx);
}
Если вызов FltGetVolumeContext выполнен успешно, параметр Context получает адрес контекста тома вызывающего объекта. FltGetVolumeContext увеличивает число ссылок на указатель контекста . Таким образом, если этот указатель больше не нужен, драйвер минифильтра должен освободить его, вызвав FltReleaseContext.