<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jung Gyuho</title>
    <description>The latest articles on DEV Community by Jung Gyuho (@devtester).</description>
    <link>https://dev.to/devtester</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1413158%2F88796e9c-bc47-469c-81fc-dfd1b1276504.jpg</url>
      <title>DEV Community: Jung Gyuho</title>
      <link>https://dev.to/devtester</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devtester"/>
    <language>en</language>
    <item>
      <title>파일 암복호화 필터 드라이버를 제작하면서...</title>
      <dc:creator>Jung Gyuho</dc:creator>
      <pubDate>Sun, 03 May 2026 03:44:35 +0000</pubDate>
      <link>https://dev.to/devtester/pail-amboghohwa-pilteo-deuraibeoreul-jejaghamyeonseo-31kn</link>
      <guid>https://dev.to/devtester/pail-amboghohwa-pilteo-deuraibeoreul-jejaghamyeonseo-31kn</guid>
      <description>&lt;p&gt;평범한 DoubleFCB 구조를 사용하는 파일 암복호화 드라이버에 관한 것들...&lt;/p&gt;

&lt;h1&gt;
  
  
  기반
&lt;/h1&gt;

&lt;h2&gt;
  
  
  OPLOCK
&lt;/h2&gt;

&lt;h2&gt;
  
  
  SCB(FCB) / CCB
&lt;/h2&gt;

&lt;p&gt;FCB 에는 FSRTL_ADVANCED_FCB_HEADER 구조체를 포함&lt;/p&gt;

&lt;h2&gt;
  
  
  READ / WRITE
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cached I/O
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Non-Cached I/O
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Paging I/O
&lt;/h3&gt;

&lt;h1&gt;
  
  
  IRP
&lt;/h1&gt;

&lt;h2&gt;
  
  
  IRP_MJ_CREATE
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_CLEANUP
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_READ
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_WRITE
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_CLOSE
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_SET_INFORMATION
&lt;/h2&gt;

&lt;h2&gt;
  
  
  IRP_MJ_QUERY_INFORMATION
&lt;/h2&gt;

</description>
    </item>
    <item>
      <title>Qt 6.11 Building From Source</title>
      <dc:creator>Jung Gyuho</dc:creator>
      <pubDate>Mon, 30 Mar 2026 01:15:41 +0000</pubDate>
      <link>https://dev.to/devtester/qt-611-building-from-source-2d7g</link>
      <guid>https://dev.to/devtester/qt-611-building-from-source-2d7g</guid>
      <description>&lt;ul&gt;
&lt;li&gt;개발툴 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visual Studio 2026 &lt;/p&gt;

&lt;p&gt;준비 :&lt;br&gt;
Qt 6.11 Source &lt;br&gt;
FFMPEG &lt;br&gt;
vcpkg&lt;br&gt;
rust&lt;br&gt;
ninja&lt;br&gt;
cmake&lt;br&gt;
python &amp;lt;= 3.11&lt;br&gt;
 pip install html5lib&lt;br&gt;
 pip install spdx-tools&lt;br&gt;
 pip install bs4&lt;br&gt;
perl (Strawberry perl 5.14 )&lt;br&gt;
ruby (4.0)&lt;br&gt;
openssl&lt;br&gt;
vulkansdk &lt;br&gt;
gnuwin32 gperf, flex, bison, ...&lt;br&gt;
  &lt;a href="https://download.qt.io/development_releases/gnuwin32/gnuwin32.zip" rel="noopener noreferrer"&gt;https://download.qt.io/development_releases/gnuwin32/gnuwin32.zip&lt;/a&gt;&lt;br&gt;
git&lt;br&gt;
WindowsSDK 10.0.26100 ( QtWebEngine )&lt;br&gt;
llvm ( QtDoc )&lt;br&gt;
nasm&lt;br&gt;
node.js 20.xx&lt;/p&gt;

&lt;p&gt;환경 구축 :&lt;br&gt;
Visual Studio 2026 &lt;br&gt;
CMake &lt;br&gt;
VCPKG 구축 &lt;br&gt;
git clone &lt;a href="https://git.qt.io/aledelev/vcpkg.git" rel="noopener noreferrer"&gt;https://git.qt.io/aledelev/vcpkg.git&lt;/a&gt; vcpkg-qt&lt;/p&gt;

&lt;p&gt;C:\QtSrc 에 qt-everywhere-6.11.0.zip 풀기&lt;br&gt;
C:\QtBuild 에 빌드 &lt;br&gt;
C:\QtTools\vcpkg-qt&lt;br&gt;
C:\QtTools\gnuwin32&lt;/p&gt;

&lt;p&gt;코드 수정 : &lt;/p&gt;

</description>
    </item>
    <item>
      <title>IME 한영 상태 표시기 v0.1</title>
      <dc:creator>Jung Gyuho</dc:creator>
      <pubDate>Fri, 05 Dec 2025 02:36:04 +0000</pubDate>
      <link>https://dev.to/devtester/ime-hanyeong-sangtae-pyosigi-v01-3fng</link>
      <guid>https://dev.to/devtester/ime-hanyeong-sangtae-pyosigi-v01-3fng</guid>
      <description>&lt;p&gt;IME 한영 상태에 따라 키보드 캐럿 옆에 상태를 표시합니다. &lt;/p&gt;

&lt;p&gt;Qt6 으로 제작하였습니다. EXE 파일은 디지털 서명이 되어있습니다. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm19qdlfmauct1j3ybbqc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm19qdlfmauct1j3ybbqc.png" alt=" " width="342" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdpq9txk4bwjn149ubrv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdpq9txk4bwjn149ubrv.png" alt=" " width="234" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jgh0721/HyperIMECursor/releases/tag/v0.1" rel="noopener noreferrer"&gt;https://github.com/jgh0721/HyperIMECursor/releases/tag/v0.1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS : 아직 자동시작 메뉴는 작동하지 않습니다. &lt;/p&gt;

</description>
      <category>ime</category>
      <category>한영상태</category>
      <category>caret</category>
    </item>
    <item>
      <title>Hyper-V VM 의 스위치에 고정 IP 부여하기</title>
      <dc:creator>Jung Gyuho</dc:creator>
      <pubDate>Tue, 15 Apr 2025 00:36:09 +0000</pubDate>
      <link>https://dev.to/devtester/hyper-v-vm-yi-seuwicie-gojeong-ip-buyeohagi-9gm</link>
      <guid>https://dev.to/devtester/hyper-v-vm-yi-seuwicie-gojeong-ip-buyeohagi-9gm</guid>
      <description>&lt;p&gt;Hyper-V 에서 기본으로 제공하는 Default Switch 는 NAT 와 DHCP 를 모두 지원하지만, 스위치의 IP 가 재부팅때마다 변경되어 일부의 경우에 매우 불편함을 초래함. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hyper-V 가상 스위치 관리자에서 내부 스위치 생성( 예) 이름 =&amp;gt; "Internal Switch" )&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;해당 가상 스위치는 DHCP 를 지원하지 않기 때문에 VM에 직접 IP를 지정해야 한다. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;VM 에서 게이트웨이를 192.168.100.1, 자신의 IP 를 192.168.100.10 등으로 지정한다. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;PowerShell&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;New-VMSwitch -SwitchName "Internal Switch" -SwitchType Internal
New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "Internal Switch"
New-NetNat -Name "Internal Switch" -InternalIPInterfaceAddressPrefix 192.168.100.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Based On : &lt;a href="https://blog.naver.com/nettrail/223053535521" rel="noopener noreferrer"&gt;https://blog.naver.com/nettrail/223053535521&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hyperv</category>
      <category>staticip</category>
    </item>
    <item>
      <title>Visual Studio 2022/2026 에서 Win10 WDK 사용하기</title>
      <dc:creator>Jung Gyuho</dc:creator>
      <pubDate>Fri, 02 Aug 2024 09:10:50 +0000</pubDate>
      <link>https://dev.to/devtester/visual-studio-2022-eseo-win10-wdk-sayonghagi-4djk</link>
      <guid>https://dev.to/devtester/visual-studio-2022-eseo-win10-wdk-sayonghagi-4djk</guid>
      <description>&lt;p&gt;Visual Studio 2019 설치&lt;br&gt;
Visual Studio 2022 설치&lt;/p&gt;

&lt;p&gt;Windows SDK 10.0.19041&lt;br&gt;
Windows WDK 10.0.19041&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual Studio 2019 용 WDK Extension 설치&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Windows SDK 10.0.22621 ( Windows 11 SDK )&lt;br&gt;
Windows WDK 10.0.22621 ( Windows 11 WDK )&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual Studio 2022 용 WDK Extension 설치 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;그후 아래 내용을 배치파일로 생성하여 관리자 권한으로 실행&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PUSHD %~dp0

CD /D C:\

if not exist "%ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\WDK\10.0.19041.0\" (
    md "%ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\WDK\10.0.19041.0"
    copy "%ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\WDK\*.props" "%ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\WDK\10.0.19041.0\"
)


if not exist "%ProgramFiles(x86)%\Windows Kits\10\build\10.0.19041.0\" (
    md "%ProgramFiles(x86)%\Windows Kits\10\build\10.0.19041.0"
    xcopy /e /y "%ProgramFiles(x86)%\Windows Kits\10\build\10.0.22621.0\*.*" "%ProgramFiles(x86)%\Windows Kits\10\build\10.0.19041.0\"
)

@REM Visual Studio 2026 Insiders 
copy "%programFiles(x86%)\Windows Kits\10\build\bin\Microsoft.DriverKit.Build.Tasks.16.0.dll" "%programFiles(x86%)\Windows Kits\10\build\bin\Microsoft.DriverKit.Build.Tasks.18.0.dll" 

copy "%programFiles(x86%)\Windows Kits\10\build\bin\Microsoft.DriverKit.Build.Tasks.PackageVerifier.16.0.dll" "%programFiles(x86%)\Windows Kits\10\build\bin\Microsoft.DriverKit.Build.Tasks.PackageVerifier.18.0.dll" 


POPD

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>wdk</category>
      <category>msvc</category>
    </item>
  </channel>
</rss>
