µ±Ç°Î»ÖãºÊ×Ò³ > WindowsÎļþϵͳ¹ýÂ˹ÜÀíÆ÷֮΢¹ýÂËÆ÷Çý¶¯¿ª·¢Ö¸ÄÏ
);
Èç¹ûOldContext²ÎÊýΪ¿Õ£¬ÄÇô¹ýÂ˹ÜÀíÆ÷»áÊͷŶÔÕâ¸öÉÏÏÂÎĵÄËùÓеÄÒýÓ᣷ñÔò£¬ÉÏÏÂÎÄ»áͨ¹ýOldContext·µ»Ø¡£Î¢¹ýÂËÆ÷±ØÐë×Ô¼ºµ÷ÓÃFltReleaseContextÀ´ÊÍ·ÅËü¡£
9.3 ÉÏÏÂÎÄ»ñÈ¡£¨Retrieval£©½Ó¿Ú
ÏÂÃæµÄÀý³ÌÓÃÀ´»ñȡij¸öÉ豸µÄÏà¹ØÉÏÏÂÎÄ¡£Ê¹ÓÃÍê±Ï£¬µ÷ÓÃÕß±ØÐëÊÍ·Å·µ»ØµÄÉÏÏÂÎÄ£¬ÊÍ·ÅʹÓÃFltReleaseContext().ÉÏÏÂÎIJ»ÄÜÔÚDPCÖжϼ¶»ñÈ¡¡£ËùÒÔÈç¹ûÒ»¸öºó²Ù×÷»Øµ÷ÖÐÏ£ÍûµÃµ½Ò»¸öÉÏÏÂÎÄ£¬ÄÇô±ØÐë´ÓÔ¤²Ù×÷ÖлñµÃ²¢´«Èë¡£
NTSTATUS
FLTAPI
FltGetVolumeContext (
IN PFLT_FILTER Filter,
IN PFLT_VOLUME Volume,
OUT PFLT_CONTEXT *Context
);
NTSTATUS
FLTAPI
FltGetInstanceContext (
IN PFLT_INSTANCE Instance,
OUT PFLT_CONTEXT *Context
);
NTSTATUS
FLTAPI
FltGetFileContext (
IN PFLT_INSTANCE Instance,
IN PFILE_OBJECT FileObject,
OUT PFLT_CONTEXT *Context
);
NTSTATUS
FLTAPI
FltGetStreamContext (
IN PFLT_INSTANCE Instance,
IN PFILE_OBJECT FileObject,
OUT PFLT_CONTEXT *Context
);
NTSTATUS
FLTAPI
FltGetStreamHandleContext (
IN PFLT_INSTANCE Instance,
IN PFILE_OBJECT FileObject,
OUT PFLT_CONTEXT *Context );
µ±Ê¹ÓÃÍê±Ï£¬ÏÂÃæµÄһЩÀý³ÌÓÃÀ´ÊÍ·Å»ñµÃµÄÉÏÏÂÎÄ¡£Ò»°ãÍÆ¼ö²»ÒªÔÚ²Ù×÷Ö®¼ä´«µÝÕâЩÉÏÏÂÎÄÖ¸Õë¡£ÉÏÏÂÎĵĻñÈ¡·Ç³£ÓÐЧÂÊ£¬ÊÇרÃÅÉè¼ÆÓÃÀ´ÔÚÿ¸ö²Ù×÷ҪʹÓõÄʱºòרÃÅÀ´»ñÈ¡ÉÏÏÂÎĵġ£
VOID
FLTAPI
FltReleaseContext (
IN PFLT_CONTEXT Context )£»
ÀàËÆÊµÀý֪ͨÀý³Ì£¬Ã¿¸ö²Ù×÷µÄ»Øµ÷Àý³Ì¶¼ÊÕµ½Ò»¸öFLT_RELATED_OBJECTS½á¹¹¡£Õâ¸ö½á¹¹°üº¬ËùÓÐÕâ¸ö²Ù×÷Ïà¹ØµÄËùÓÐÒÑÖªµÄµÄ¶ÔÏó¡£ÎªÁ˼ò»¯ÉÏÏÂÎĵĻñÈ¡£¬ÓÐÒ»¸öÀàËÆµÄFLT_RELATED_CONTEXT¿ÉÒÔÒ»´Î»ñÈ¡¡£Õâ¸ö½á¹¹ÈçÏ£º
typedef struct _FLT_RELATED_CONTEXTS {
PFLT_CONTEXT VolumeContext;
PFLT_CONTEXT InstanceContext;
PFLT_CONTEXT FileContext;
PFLT_CONTEXT StreamContext;
PFLT_CONTEXT StreamHandleContext;
} FLT_RELATED_CONTEXTS, *PFLT_RELATED_CONTEXTS;
½ÓÏÂÀ´Á½¸öÀý³ÌÓÃÀ´ÒÀ´Î»ñµÃ¶à¸öÀý³Ì£¬´ËÍâÒ²ÓÐÒ»´ÎÐÔÊÍ·Å¡£¶ÔÓÚFltGetContexts()µ÷ÓÃÕßÖ¸¶¨£¨ÔÚDesiredContext²ÎÊýÖУ©ÐèÒªµÄÉÏÏÂÎÄ¡£ÔÚÄÚ²¿£¬Ò»´Î»ñµÃ¶à¸öÉÏÏÂÎıÈÒ»¸öÒ»¸öµÄ»ñµÃËüÃÇЧÂʸߡ£µ±È»£¬¶ÔÓÚ²»ÐèÒªµÄÉÏÏÂÎÄ×îºÃÊDz»ÒªÈ¥»ñÈ¡Ëü¡£FLT_ALL_CONTEXTS¿ÉÒÔÓÃÀ´µÃµ½ËùÓпÉÓõÄÉÏÏÂÎÄ¡£
VOID
FltGetContexts (
IN PFLT_RELATED_OBJECTS FltObjects, IN FLT_CONTEXT_TYPE DesiredContexts, OUT PFLT_RELATED_CONTEXTS Contexts );
VOID
FltReleaseContexts (
IN OUT PFLT_RELATED_CONTEXTS Contexts );
9.4 ÉÏÏÂÎÄÊͷŽӿÚ
µ±¹ýÂ˹ÜÀíÆ÷¾ö¶¨ÁËÒ»¸öÉÏÏÂÎÄÒª±»ÊͷŵÄʱºò£¬Î¢¹ýÂËÆ÷µÄÏà¹Ø»Øµ÷»á±»µ÷Óá£Õâ¸ö»Øµ÷Àý³ÌÓ¦¸ÃÇåÀíÈκÎÉÏÏÂÎÄ£¨°üÀ¨ÇåÀí·ÖÅäµÄÄڴ棬ÊÍ·Å×ÊÔ´µÈµÈ£©¡£Í¨¹ý·µ»Ø£¬¹ýÂ˹ÜÀíÆ÷»áÊÍ·Å´«ÈëµÄÉÏÏÂÎĽṹ¡£
ÿ¸öÀàÐ͵ÄÉÏÏÂÎĶ¼ÒªÓÐÒ»¸ö¶ÔÓ¦µÄÇåÀíÀý³Ì¡£ÕâЩÀý³Ì¶¨ÒåÈçÏÂ:
¹²·ÖÏí92ƪÏà¹ØÎĵµ