{"id":188,"date":"2010-04-18T00:21:42","date_gmt":"2010-04-18T09:21:42","guid":{"rendered":"\/blog\/?p=188"},"modified":"2023-09-21T09:39:12","modified_gmt":"2023-09-21T00:39:12","slug":"ddk-%eb%b9%84%ec%8a%a4%ed%83%80%ec%99%80-xp%ec%9d%98-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ec%bf%bc%eb%a6%ac%ec%9d%98-%ec%b0%a8%ec%9d%b4%ec%a0%90","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=188","title":{"rendered":"[DDK] \ube44\uc2a4\ud0c0\uc640 XP\uc758 \ub514\ub809\ud130\ub9ac \ucffc\ub9ac\uc758 \ucc28\uc774\uc810"},"content":{"rendered":"\n\ud3f4\ub354\ub97c \uac10\ucd94\ub294 \ubc29\ubc95\uc740 \ub2e4\uc591\ud558\ub2e4. <br \/><br \/>\ub2e4\uc591\ud558\uc9c0\ub9cc \uc815\ud615\ud654\ub41c \ubc29\ubc95\uc73c\ub85c \uc778\ud574\uc11c \ub354\uc774\uc0c1 \uc544\uc774\ub514\uc5b4\uac00 \ub098\uc624\uc9c0 <br \/><br \/>\ubabb\ud558\ub294 \n\ud615\ud3b8\uc774\ub2e4,,\ud06d<br \/><br \/>\uc77c\ub2e8 XP\uc758 \uc0c1\ud669\uc5d0\uc11c IRP_MJ_DIRECTORY_CONTROL\uc758 <br \/><br \/>MAJOR IRP\uac00 \ub0a0\ub77c\uc624\uba74, \n<br \/><br \/>MINOR\ub85c IRP_MN_QUERY_DIRECTORY\uc774\ub2e4. <br \/><br \/>\uc774\ub54c \uc5ec\uae30\uc5d0 \uac10\ucd94\ub294 \ub8e8\ud2f4\uc744 \uc791\uc131\ud558\uba74 \n\ub41c\ub2e4.<br \/><br \/>\uadfc\ub370 XP\uc640 VISTA\ub294 \uc0ac\uc6a9\ud558\ub294 Class\uac00 \ub2e4\ub974\ub2e4\ub294 \uac83\uc774\ub2e4,, - _-;<br \/><br \/>\uc0bd\uc9c8\ub05d\uc5d0 \uc54c\uc558\ub294\ub370, \n<br \/><br \/>XP\uc758 \uacbd\uc6b0 \ud3f4\ub354 \ubaa9\ub85d \uc694\uccad\uc2dc Class\uac00 FileBothDirectoryInforamation\uc774\uace0,<br \/><br \/>Vista\uc758 \n\uacbd\uc6b0\uc5d0\ub294 FileIdBothDirectoryInformation\uc744 \uc0ac\uc6a9\ud558\ub354\ub77c,, \ucdcc<br \/><br \/>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\"><span><\/span>&nbsp;<\/div><\/div>\n<ol class=\"dp-cpp\"><li><span>NTSTATUS InitializeHiddenFileList() &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>{ &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; <\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">int<\/font><\/strong><\/span><span>&nbsp;i; &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">for<\/font><\/strong><\/span><span>( i&nbsp;= 0&nbsp;; i&nbsp;&lt; MAXHIDDENFILEENTRIES ;&nbsp;i ++ ) \n &nbsp;<\/span> \n<\/li><li><span>&nbsp; &nbsp; { &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; &nbsp; &nbsp; g_HiddenFileList[ i&nbsp;] =&nbsp;(<\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">WCHAR<\/font><\/strong><\/span><span>&nbsp;*)ExAllocatePool( NonPagedPool, MAXHIDDENFILENAMESIZE *&nbsp;<\/span><span class=\"keyword\"><strong><font color=\"#006699\">sizeof<\/font><\/strong><\/span><span>(<\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">WCHAR<\/font><\/strong><\/span><span>) ); &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">if<\/font><\/strong><\/span><span>( !g_HiddenFileList[ i&nbsp;] ) \n &nbsp;<\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">return<\/font><\/strong><\/span><span>&nbsp;STATUS_UNSUCCESSFUL; \n &nbsp;<\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp; RtlZeroMemory( g_HiddenFileList[ i&nbsp;], MAXHIDDENFILENAMESIZE *&nbsp;<\/span><span class=\"keyword\"><strong><font color=\"#006699\">sizeof<\/font><\/strong><\/span><span>(<\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">WCHAR<\/font><\/strong><\/span><span>) ); &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; } &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">return<\/font><\/strong><\/span><span>&nbsp;STATUS_SUCCESS; \n &nbsp;<\/span> \n<\/li><li class=\"alt\"><span>} &nbsp; <\/span> \n<\/li><li><span>&nbsp; <\/span> \n<\/li><li class=\"alt\"><span class=\"datatypes\"><strong><font color=\"#2e8b57\">ULONG<\/font><\/strong><\/span><span>&nbsp;IsExistHiddenFileList( <\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">WCHAR<\/font><\/strong><\/span><span>&nbsp;*pwFilename ) &nbsp; <\/span> \n<\/li><li><span>{ &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; <\/span><span class=\"datatypes\"><strong><font color=\"#2e8b57\">int<\/font><\/strong><\/span><span>&nbsp;i; &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">for<\/font><\/strong><\/span><span>( i&nbsp;= 0&nbsp;; i&nbsp;&lt; MAXHIDDENFILEENTRIES ;&nbsp;i ++ ) \n &nbsp;<\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; { &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">if<\/font><\/strong><\/span><span>( !g_HiddenFileList[ i&nbsp;] ) \n &nbsp;<\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">continue<\/font><\/strong><\/span><span>; &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">if<\/font><\/strong><\/span><span>( _wcsicmp( g_HiddenFileList[ i&nbsp;], pwFilename )&nbsp;) \n &nbsp;<\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">continue<\/font><\/strong><\/span><span>; &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">return<\/font><\/strong><\/span><span>&nbsp;TRUE; &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>&nbsp; &nbsp; } &nbsp; <\/span> \n<\/li><li><span>&nbsp; &nbsp; <\/span><span class=\"keyword\"><strong><font color=\"#006699\">return<\/font><\/strong><\/span><span>&nbsp;FALSE; &nbsp; <\/span> \n<\/li><li class=\"alt\"><span>} &nbsp;<\/span><\/li><\/ol><\/div><pre style=\"display: none;\" class=\"c++\" name=\"code\">  \nNTSTATUS InitializeHiddenFileList()\n{\n       int i;\n        for( i = 0 ; i &lt; MAXHIDDENFILEENTRIES ; i ++ )\n     {\n             g_HiddenFileList[ i ] = (WCHAR *)ExAllocatePool( NonPagedPool, MAXHIDDENFILENAMESIZE * sizeof(WCHAR) );\n               if( !g_HiddenFileList[ i ] )\n                  return STATUS_UNSUCCESSFUL;\n           RtlZeroMemory( g_HiddenFileList[ i ], MAXHIDDENFILENAMESIZE * sizeof(WCHAR) );\n        }\n     return STATUS_SUCCESS;\n}\n\nULONG IsExistHiddenFileList( WCHAR *pwFilename )\n{\n      int i;\n        for( i = 0 ; i &lt; MAXHIDDENFILEENTRIES ; i ++ )\n     {\n             if( !g_HiddenFileList[ i ] )\n                  continue;\n             \n              if( _wcsicmp( g_HiddenFileList[ i ], pwFilename ) )\n                   continue;\n\n           return TRUE;\n  }\n     return FALSE;\n}\n<\/pre><br \/>&nbsp;\ucd9c\ucc98 : <a class=\"con_link\" href=\"http:\/\/ssmhz.tistory.com\/145\" target=\"_blank\" rel=\"noopener\">http:\/\/ssmhz.tistory.com\/145<\/a>&nbsp; <br \/>\n","protected":false},"excerpt":{"rendered":"<p>\ud3f4\ub354\ub97c \uac10\ucd94\ub294 \ubc29\ubc95\uc740 \ub2e4\uc591\ud558\ub2e4. \ub2e4\uc591\ud558\uc9c0\ub9cc \uc815\ud615\ud654\ub41c \ubc29\ubc95\uc73c\ub85c \uc778\ud574\uc11c \ub354\uc774\uc0c1 \uc544\uc774\ub514\uc5b4\uac00 \ub098\uc624\uc9c0 \ubabb\ud558\ub294 \ud615\ud3b8\uc774\ub2e4,,\ud06d \uc77c\ub2e8 XP\uc758 \uc0c1\ud669\uc5d0\uc11c IRP_MJ_DIRECTORY_CONTROL\uc758 MAJOR IRP\uac00 \ub0a0\ub77c\uc624\uba74, MINOR\ub85c IRP_MN_QUERY_DIRECTORY\uc774\ub2e4. \uc774\ub54c \uc5ec\uae30\uc5d0 \uac10\ucd94\ub294 \ub8e8\ud2f4\uc744 \uc791\uc131\ud558\uba74 \ub41c\ub2e4. \uadfc\ub370 XP\uc640 VISTA\ub294 \uc0ac\uc6a9\ud558\ub294 Class\uac00 \ub2e4\ub974\ub2e4\ub294 \uac83\uc774\ub2e4,, &#8211; _-; \uc0bd\uc9c8\ub05d\uc5d0 \uc54c\uc558\ub294\ub370, XP\uc758 \uacbd\uc6b0 \ud3f4\ub354 \ubaa9\ub85d \uc694\uccad\uc2dc Class\uac00 FileBothDirectoryInforamation\uc774\uace0, Vista\uc758 \uacbd\uc6b0\uc5d0\ub294 FileIdBothDirectoryInformation\uc744 \uc0ac\uc6a9\ud558\ub354\ub77c,, \ucdcc &nbsp; NTSTATUS InitializeHiddenFileList() &nbsp; [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[24],"tags":[],"class_list":["post-188","post","type-post","status-publish","format-standard","hentry","category-development_winddk"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=188"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/188\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}