From 65e11064b4ceff2cba2409b84176c7fc98e5a986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Thu, 6 Nov 2025 15:06:15 +0100 Subject: [PATCH] Add hresult wrapper --- binding.gyp | 2 +- dist/addon.node | Bin 526336 -> 528896 bytes include/helpers/check_hresult.h | 20 +++++++ .../napi_extract_args.h | 31 ++++++----- .../napi_safe_wrap.h | 20 ++++--- .../placeholders_interface/Planceholders.cpp | 49 ++++++++++-------- native-src/sync_root_interface/SyncRoot.cpp | 21 ++++---- .../callbacks/FetchData/FetchData.cpp | 10 ++-- .../virtual_drive/convert_to_placeholder.cpp | 3 +- .../virtual_drive/create_file_placeholder.cpp | 5 +- .../create_folder_placeholder.cpp | 6 ++- native-src/virtual_drive/dehydrate_file.cpp | 15 +++--- native-src/virtual_drive/hydrate_file.cpp | 15 +++--- package.json | 2 +- 14 files changed, 128 insertions(+), 71 deletions(-) create mode 100644 include/helpers/check_hresult.h rename include/{napi_helpers => helpers}/napi_extract_args.h (79%) rename include/{napi_helpers => helpers}/napi_safe_wrap.h (79%) diff --git a/binding.gyp b/binding.gyp index 8037b860..02e14a5d 100644 --- a/binding.gyp +++ b/binding.gyp @@ -38,7 +38,7 @@ ], "include_dirs": [ "include", - "include/napi_helpers", + "include/helpers", "include/placeholders_interface", "include/sync_root_interface", "include/sync_root_interface/callbacks", diff --git a/dist/addon.node b/dist/addon.node index 0572bdfabe21677a16f4e71e8df4f259c3d19236..46f311202cfc970e4abad87fa994bda4c2a31baf 100644 GIT binary patch delta 116523 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 Rwk3T_#+L2nVc`>k{ugS+#Cre$ delta 114367 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ⅇ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�YQdIz`&k*BcyqHebDxnFD3EhP&_!J^!kXSJLFwI=@us->Ki( zSQY7=)nB~3dCT01p|Yu+R@B~wzto3~?WNx1@X@o)l-Z{2kS*=RHb0qOl`Sh(I7`Zv z>KHF&iQh3@?#{NGJ}t*GW7^^Zr?J*HQeWY0smF1r!opmckf-As9arl(UC)@PWBVQP z%m7(Hb(z%j7ybA$FmLUf>jZX?oi9knytNY7z9@0kdWlCoFLCEJ5^q~AaeAr5rk5nH z)N6LPf_CQ74_C@R(@M5bmEXrvZhX)r^a7fu*~)VC>^T)_ zebs*}4n5tX$ZU5OTW^qjqNn@nxKcNxuu<1bq+Gf#ZwZ#={x7|bI~8Z#P~@y|TViWh z>HCQ{Wqg;eI3iKT|6;J7-&2>jbd>pvbWA$Qc)g4}NVd+f>3Bt=6d>Isj=Lobs@4@| zhUhKY_5Tk8;A(do;Hw*OSg-k=2Gr^X+&QT7c~5`z6lR@y*X#JLgD z(t^A6ajq_(lOPLD)Sa$D&v&=!rnm0Y1-c<5&>@FUY2;s<#nx@s3A$koG^%@lFEw)P^CFQzde<|oL|DOt~ zjJ`{a?o!ZQ%7Op?j~dzaVYR;79Zjbf6sNa@?XpZC@gIrv8YH${khtcW#M%FrxLkAz z%DHozr6yx97H{0}K^^ERR_O{Ye z>s^LnoGxFcPuFRRQ`i+;?8a59{$0M?}0Wsn-=Z+(mJ+wIX(y z+EsDrefQBIy)X5qbS_>S7fF69|K|hvPR0s7-r>Ldh|?J@`BL8Li`94J`^%=>zF20k z>ly7G|9e6B8w+7r>N65oB}n8h5WkGi- z2Q$_GDu{Icf2z@43c5=RpoCie8mF)xPH{z8<9xR>A_d%N+H3j^<0eili}W6kch(#m0_R@jpGr3jcBH z0wZTUIZ?gO|F>JJa06%)KL}iysNVMMnEs$fEIN~)0LRkj@is0YQ^0rrcs%z(7B*Au zt4w*2O`fT?bKIFu9@20-MgF*a#5j2hptDHM9q}n{@^qk3$IdGqC$5|#^T$no9;40s#)So{Uml4kl0&4u*h(7oEp#GVd^$L?v%^YOjSJc}0G;+AqSbizbh0Dyq(^843&d6E|FP|5UB! znl94d@=k2SpXgwVMUU&aQpb5Qdc|~HdPlrkkJpZna+h>`LdP|C$UDzc$^xXkJ`+~- zt5;(T{0;-Dc;>unG_bM@>Q+{N5w}J+T~vS2?nTN}3t2xboUum1L z-Yd?yuQPp_%wMXf=iPzr&U`v{PS>WrBA&heHvZ`zERxgu?74*Rx2O=jC0)b`BMpjvPPME+QMgPP~)hzQ;|A$ijZaydU| z_G09Ic+|A{Gs)~6Jfc1`fAQ>v3y3)DTDZU&CI9O{qTVPEGMwE}uIUFO`nigJzT!;? zl?iq)V0=tb4R`3(yrYtYj9)N!!NP|YSZ3zuFT@8HNPRoKj39~goN*mnbbh9e?K-a3 zalMXxgJu3ii9JZB&d3X9ldr22Ec0!c-A#K?H%}PQlm+G)gHpkA{<1;KY@!NmqCpEY@^n!{_j1&5 zE24!j_-Vns%yNT916}gh+>!t17WvJkdo_~irQx=MYYQ2JY~VS6xu9K5ctFv@*dl`# zZr=KdMs^{!v^h7Li~6}_t_6*@{Z7$38Ke~J*HNY3R`2ElQoUJ6H?2K;LeawA33RSN zqMaGsWR*(YP$d`fO3=Dm?ndlWH`pWc9z$#R`XJSrH;S*)R&boZOwf1a=Wdv3)I!-9 zH&n^@GxQ>aaOcD6quc}hcDX322A#@_Xv3gm_4(!%yoc&Sy@{ES?a zbc-q&lLsjqTg_9sAfEZ<5JQ(+dd3I2wK^8 z4c$=~p?OB-BJTXH=X7g|+}V1ri6=`|$LF~x2nm^ zR(on8%+C`>r9x8;1b4Y=5=J$+sIrDYZR?(6^@34Cl^v>to3^U(QxS-U;n>f#bcCv!!{AGh~bpmr|+1?mRq0Ph37`EOeVJMG%)qN}=fUDYjh`BuT*BeA5o>JpBc3a;~)3%b<~ zc4xW%u#JmK+tQ(L7ow$+F1A(rqu*WBHGpoVnhh;gl|hv)3g$(*sKP`{L&0?ZR)B6r z)rvN7`X~J1^yG6iI)utywbVdMjEfd)G`t?ribJx*4yrfn5TJz^qS$}{tgO-c5D;S! znVi47C|I57&ME^mKMK*xXqT$g2fzqRbN*D&chSL(@M5WfsMM=%P^nT>Y6ZmY78iY` zftV9q^i_jyb+EXzYOZNaAT-rOlO+cI@2W}ocq+KgpB;27t&I6N)X2qT-zP%XQq*!q z4BHf>wWUZYk8v@uCJ24!qBSJ8RjnbxEwq*&f~P|=J=R54UNBUF>HKYNUDZ~oV%>sK zPv0+4M+jBBXjvBmC2gCPq=IgxmZ>35C8;p{1&IEmd609&U;qT0-J9 zQtzt85{k|P)A_T5zRQTSheFdYA>0k1sT_hU;#}+zomb_esvdMJ)v9k&Qx7%i@h~d> zPBq!!I)8Ay@4{cO^R2GfC<$8{T(l&%{~xv_Mxcf~gQ%f< z4YU>_Pd1wtF1LeTk%&5fRiN)O>Z-URE-DqJe~Biy!Vjb(u^UW8-1*A}-AaRJNAm8E z(84_mVM!hg!yPuh*N-%pL1Q(~Wp$~r@P}F#y}lh<)$1Fj>or$FjU7U%9bD9i)?W&) z^S2fBT|9IvSG6dTPcKl_0KsY(Rbtq6Y*v&Cx|MpSMmv>cegzkYkiDaeJ!06oXsK#l zOBL6$Ckm#NLrX{}G`Fi3iv@Eqn9g4==u*I49W&Pg$Lz$Ow7@Yt>5f?mC6O*l?xFyG zxh@9lKxY)!*`+3lF|dI%_1{v^cTpkNfu%9v@+;ot7FjIHE8Z#Xq2i1_ERhtgDz-!sgdtH zEp2fL50>+11C1-Zl(t$YhYLFd>28H?g+<``;=an-u9&I7dl+xTJO>!v3x6@v&p@Y znjhWB=F@J(QGvkwj2r0z*bX=VxC)3l>qct+q~t7MTsy3BKwCh2 zKzBeNz%al>z-+)GzzV=~fTg~;NrjfFxyL~4I}}lq2weNGfUzO&NVrBxHR9Zu<2cYP zZ;ul?ux(a;@<+(naT(*5EQyHz;0N>G^sT>mU5K0D8^>z#Y{0Pev-rqj!OW!vaq|~I zl2~vOnGWpa#U&;ZJ9ssCM!$)d)QzOOtE4o_$y-XQ+gI#}*TxwfUxSyQGp%46o&(Xa zf}vw&oNFRDy3@$nxF#MyJSOwt0J+U_4=$WnFyDDxTZ97`J^v$*Jd!j00mx@3<4O{^ zOMbzOxS{>~a~*b_=a9_FlQ}cjRWM5m=C$BSxuxJ$je)|Y((v@BHS&zv8IN1absa9n zUJAHN&TI(9C2`(a@K6^guRBNw@m;Nvnr3D)NKy~pR-8iXneinYLe{Uv?8$2_72>No zcy4T+Mv8#D%#?-%Fl@SboR>LG7Wxc${J>i0@j^)%cQW_t=jQE1Ie>{+X}Kq>3b zZdv z@vzVoqbP~^chO%^4?;pCjKnKBka%5C^EO|lB#-k#jl`VnP0VW~&jy|!z9?nfi#yOL zbOcmd$0L{mP|Wr~Xf>u2{P81+Abw_^*-Xs&Y91F}%7vdmu%ZWZbksuIb7mRh_BVL$ zSuHg0;=)|>o*wMej#@ir=%lr|hvy(E@GW-)J^;l#1M`8xzxxyFp%RZIt%l|q?QWS$ zBA4w95qq~3HoTM8tvhGrIx{cgna@#P^H3igXy=%TPqI7l8S5czE#(AbgE#>&dGgxYQ#NAQblHZWqi;usb)i!{7x%qKBd>AsP!OE~s&_S);q7iv z(h^hIqRv`-2RA7jsn%%-766Q9(KAVwu7p&oStLX8hZB&{cy|(Ph#(&I?loGas9~a# ziLs5MHX<8_D6zf);!}XhySG`G123A))%E8E60%1zf290K)i6_!?Ji<$f1d#|(g^)d|5Tb>`pUOQ8NRU#E zf3sE>DJ09tur!256k-_s6OfKPF;L(dXNS9J)-X#NZj%94=n~Cw=G|2b>c*W>I9{-c z1ZR1Z;AAfnoZqI#FVEM`ZLdc@>oo+80L8n~%%*kKq9e-s5b`C!*i#nl8fQDZYL>7} zd@IZWNYy2p3Mj1a~yqj3bQxlTIA)`Zqmi> zOVpxLDlx~^0Zs`$xP5a8vr_@`W|>IKG&n+&EZdQ&#isZUBxC>}HI3H{dG|HvZJCBo zzctA+b2lxjOJN2f-vUZSUf9(lj^R+Cy71Vu-LzOo>0o>z5^%y<-YKj|1z0|^%%o)+ z^t#H18%a0@6@|`p^k6PvD<+~Ce*5lD9&caB)XtOgQuIUUmHVKt4MdD|GqF#FC zdBbI);gU_HWg3iWl4WlvY3_SLkSpGc{R@3M-p}RS%HrOmB*_zDQ3hn~Jst|f>#k7 z0C;mm8+o{m2Osg^um{WQp#^ww<7<$^{##%6Tn{a>A7_~QL6;wb z{s4dP8f56m6{e?ndLnNG4?6RpHxEYeUcB0nI2k<1Fxfy7XTxWpLa!zIQR7& zmEaW>a@j@3H6GfQ62DwCaW@1J1r---5Ol49F6({}hXIOMEy_%v;O?!LLVi%-YNCPE zBw|jItL|CIiRJP#&yb{q#+gW9Rxk-n4kCdUylXu3JnUk*XRAAD!D2;9OxLsY1cAT* zR4%)r;T2*w_z`}J6ObH70t`{al&9HMeHF@u=xJ`-A`njjRCD2jsCE($^OE?2GR@8V zJ!;&ps3R3JOns2}8Y6HQSuDO@=txiEv&Mrprf7lDys}l$Ar_n?AbtWErB5YcneBd$ z_LQUaaV#u=jQ+BPUE>CCm3U+8;hkizH`Shjh_!UxH8~6rrQQEOgX3NHA%1V9TfbG8lTCjY`E#!F?!VfUY1Ogz|`@cTH2z z^me8X;_0_r6i`@1$aa8JziZsp$Uxg)$-M#_ppScM z;a$1N3a7{#E@Dhl@)fu-+$~AX7p@>=Ct%k=);CQH8rvM#$68Z5 z;$q##`m+kx-vH;j*D{WQ!`GuG8MYuz3ybE3=VhS%9!9VdpnBWU23<;cfPuaxO^dg3 zp`BdlV+6+lCUfG;yo%+sFx4gT2LDA#LyKQZ)2w{Q9@R^07s^{cagat(BC+-akq+R) znN97bb!x+t3tW>QAH-hjrA6}myOCdvki!rV)4{hOP6CW(Q6}GAHulm&#bp5*tUICm zVAj6378%a%?F^>12Z8|rqi6b7(Iqdl`+I9KLLiq5EJ9EOFqy+NL4#0R#s%I& zP(GL)?5!nq;uhB+{x+{r9SFA}yeYUrcCq`c77b#b4&$QxXz^m&?F<=vw;^nFA1$U! z9<2BRkPIfDFUmt^?9+Z)Xbi9IQ6yS_MDQm-6}^+5 zBra7JpcAoVbr;rmwrOMsx4s96(Ew?Exv;)QSYOVqpW9dK=BTV7av7Q%yZzEnFxx8U+&FKf5tSU;PwOPswJA_*or&NDfWLPc1oU<7Fvu<^ zcyN{nH+kUck01hpSl9m9Pm343k4moOa|G1@#a#LcJJ(NZEBvB?C-Js63}eyhT7u|+ z0;%53>2`TKll_eb^1{$Ai3(;GN$bXYZtIQG+rMz##yo zdb(>o)Pg-iav1T)Qt4cdPC@Q9-kIk>Tm~p+tQ&s)wNB&77lb4M$Z%d1{3=U@*aIxQ=Te$Ozr~$N^f{8HKpi zdk0_wH-?{?9L2V5AGWYL9vC`i(lQ+*!$scD-3|MRFtMND&h{8|Sf4_$1|YYwc3gR~ zcL!*J8s8JZDcPR`wa_eHv1$lyz(QgD9)#OSjd+?1zemN~(s-4gpb{x>i_0)4e!Q9AeI572{pn8%1ni1 zhtkgYvPwdO6ry2o#Vy(hv3#EA4G=q;@|1}kl-)dlC z`!a}HK$y23nmQ85mQCh4%2PIhA;{9CvWtXZzQsPFY&uUYOX6YPbk51U#4Avik{F1Y zDLs&>gSC|D zEayQb52_J#=1a~mZfWx3$P@&22oJ10NacZz2iXWd<`+j7Y+AdlYW(M!0sr4|3aa^_ zca4X(H{&1H!iiTsu9d5s54(76QpagzFRx915SaiuX&JtqhElD1mJKW082zbGLATse8m8*<$2B{XaHcV%g>aIbCmhK8SlKF z515RrnNS2uIx*n7*b_$@p84XCgbmNsx`_>P4$_6f`IA|3rhYwE%9$@B*a9$`Yw)s3 zI%ZV%S*8{*cF@&a;Clpr00Kiuy9bJwsnoccNAX%JR zte(Q&9jkQ^JGy;fin;Jh5I=AQ;`pnY8-I1ImSEwf_)gWxA#PnLi1q*}gqaUg8RN9h z!@1NHBnVq(f_Mmk%R<~CDNW($9h1dHtN9f1H(J!)q?X(0axSzM;#PkD>E)^H!*NKrfZ}~QjQNe%x<@%jMQF4MYmGOS zcF%fqjXbME_UYrbG?BgNeq=8}@H{~AzBin0AFl=T5)O^m!Z`kYyw*;LUgDy+5V+a7 zXmkXNnV>}rZ|Drplf1oqfauMWF{!di6ZHFFdEf}QdlBArSp$a9j6MIE&5JVnwAB zAtIFb1d$F<%=0?4so7d|Tkc)C;OymXvIxWz0M$E?t4l&~Us5=GC0oCc-i9>mdk8)R zDBc&N+4s;PiZ}(1XxDQfF7af3IOI1;PmY+OpN__Z=nN3aLnmqNCky`uM_jAT1n~|a z#CryIo*lVo*H7k6FwHGZMCS0wFUp%QM8d#N5M22Wr+ndhB}z|(zbSlVOfwEZ@rNd9 z6T~R<%+W7$v9^#nfb1*m7|>bileI)4H3bQ{oWp?wh=Mz$Fy|#Eb6d9|;Ss)SzX#$N zz$|vvd!&J7b42m->Js}*=)W{s>nz;TG!xC|had!?n3FrR9`|a|qBncIt(kzlMZ)gep9vZSl+N959p#XAY2EO5M>J{YEfdSWFuL4 z^E42yLxsz^3>7w2ixh*e401bozjF6~>j8Ffsum+Uq#6mgogOLdbW20d5%+5ml+U|%HZ4aB zkK?UhfV|VWL63uY4j`A9Lgy00w%xCF?#w0kA@LBG{1QYhKu%RP&Ww zOM(1$rXj+UMC1UnJV*r2mm-ov>al^V_OJBKV-0p~#ZW$kisqu@OAs6aBs!P9+ZKKL zOkZy@m4DJ4jlr5{TBN+Jg!AXC_(m+9uW+AF)4B>jy2;hic^dHmDBguJ%xk(9F1Hup zJi=?p=f$4$Sg+~2Q`(Urb}f8HoIQ`tovw8dp0^PRVlI3G#2W!mj>r(J;aQX30W~AOl@XY73@2H|XEs zp}UKKQFzRaV}l8&PWd=>!ZSARAqolkIv~+0>p=P|fH%>v9J}Kp-wVr_GkxTCH!=la zY^wsZH)m;4tZJ5)mBarEYGKa z-wjU$@}~mdhhmO-{42omwrte{T5RlLJWt2v%1^lwpWm>@gFcR{esv>Vf%D?oR}W}W z1GqkZxibV$7xE_zr^TrP^SJj}=IJ?2K112(i} zb8@wIO_yL^AG(nNAIa;t$AG5;IOf-L9J`0&6r{kDgyL8?6vHlbY+yZ}c&T>Q*ZX5P zGUyX2?*N_&;F#y<*j-%v;rb8jX<)KS0+ak|khh-@cpn0tKb67*fbSwKWFJEMIbGJR zl8u_J4dWiNVYU_}Txqs8mSgWZS}ey&bL3-b2jTTe5d}gdftI8YpXn5SPcQ#N` zgB$4$cs`y@o-1`Mo2yM|SJvA|=JYX=olEqCFqgRVY8&NUM;_6ryyD&ijHEr_9o<<% zeQ;ekR!KbkE^e&k$&MR5*hu(?CqwZbXcR8c{MMK=c{*973O>I8;J-%(aW}xlHovxn z4yU~xGK}O&z)vXSOJLL~95=69R_fe9Be??D7th|Ghe{oOm;C_j-~}y3LHt)XRu<4& zqa=(rl6wIA^oq15GaKoPU1Xehg^ymRqT^x|^|dLudUkZk$pIEz{!dpm!D)`j=>YYVi~96!5I8{5Z|KF7Rp*+_<6 zF_OW$?kdnVF7ejNI(-q};kqO`!8>2;nBuf^QiGAa3TU>0KU3*0o_}%5{N#pD3>YbS zpdDL)ypx^$b>JB&#n960i2H8-$-cyYhkWY8DVGeH9|48Vw$P7Loax?XO5y=8w__Lb zwfA{jzP(s$$MM&TwFyB^xhFeNvJ&t<^sMZ_`W9$O@?sPtDzp=hE(@}80yGi#JhQ}+ z9r8b0Ag7Ucfc>4G`#~>COuZ?&*^d1L9b)>(!+kK>Zg@^Jzj^u?pNyM0Jt#TZj-@Qo z(zs3eOQdZZbi8+ooQke5(FS<)5t#X+Y>y?`Y}kWZN?);YL%)Su@$6AS0PfAUft~&& z?1Ha2pU*>@^8mnESNj}F9s&fmXP-Q%jS@B{qVwg^8NR%Lr*E9H*XC2=u>cQcw`WNY zX=8`+^2&L6akvGW(-D2r0rxK35f2o^(<~UWq0#u``{Wqng~x1EonOQAhzD~2PkZO% zpY_!E|Fi8{*Q(tN)jdf~riRIo6f0BFP#G;oi^XIzx5@5)klw3SO+}NmsnJSN+9%^q zEhbki=2k35AuM;8bl(xz2f?^FHUi&->bSUFV#R z{%>lz);A~Hzts0nw)NOyiaqW%#U5WWCD`-V8~x5Dk!Cs?*1P0x;{6)_Wl5wNQW|M) z=w0%}lr{sywiP@xS4Ntty-W6Uo}*Ln^3{}vdO5iRpW7X4I!%meqIcJI2>tqj$IQEfgGMTy?#;w^ z>7S_BrTYl~O`GGeC}tz9Z0&2m9o5&qA8Ecu)YDP-*f&b&-xKWmYyaQ1KhiWH_5X(b zB@^zk_42?y!N*Q-?F(ahA5x6;dw#L?U)5lZ(|jN~Cs^`yc(8N3DRcOB&76{n)9B3G zFDh9Idlb4zt%=0egpDLz_)ELa9iry)DYH%N&!S@WipY}KdxJ6I34=>cyEoV?f={m> zen~51%nC-ANv-Vb;E5r|ELI2B?mob zSZTeA4hcoSJ;OQEgPp_EN0eMPo#hMi{D}S!n@fooLPM_OCEpa#gP4rjbw+S-c*6ZQ z*D=$B?IS`9{Tk~M`G6mB>5O2n?(~iS^RKnY4fAZ`Z)XHMkN=~RWc-Jctno|o+qzH* z*Z3L#He9*4X1Hdd&2ZLCIuDnybY}4U4y`XX+ZQ|j8au{TRP>R6V%HfxMb&Sy1Ew8==%FsZY^M(&85Sy<%zY4 z@(P2oU4MUaRY#6(hn0o4!Tt{W{ZYI|F6Z}|wk=$(Yo`ll+pD>1c5vhse{`ZL3;yqk zRFI5?s;~dtE~Tzw2NV$T_a)H@^62=#4{uw-X1^x1Hck4RU?(;0ggO7=Vw3(Li?*jK znqTtjoM88Mnxj*?*!GuDTD#*tP0-Q5?8TNH7FnL=nBsV&<8;Txj+KtJj(Z#rIYvKZ z&ll%7$T7oml*w}eg^rIoRyn@u_%FwBSJ1AGXFFczc=zH>`{xFq4J;`OMxC~O2|uyo z>QviO6~`e|i}ILDl!bQTzg|-E-h$vrPt%E7|Mf4!C$UP@vLj)W2&+1$ovCdTMn)!q zzijf_giU#rUwsiTwN2O)gsmYgwoTZxt9c3$=Kei+>Yx6*)60K%din28FXsR6onAV& z+397|rw<0ZchD5+n2lw@P;}UuOD4J3jCD zs^i;^A3N@M{N6F#<#UwfXw%gN^m07gaggI>j#oS0==c}MyB+5^J_dhXa&?Or!!It7 zrl_XCNzQ9ZaH;dvaF6p1u-7p*eiFQzp}l~#A@~E*6akhcH5VXFt;vJ;Bh9p`gte#= zUkCRh&(F9E1}Sj}4vXcNr1&)0`*_w*JeT+6a17E(vtVpjK1wD$4qkzh@p*6y^3MbJ zBE>f+@QE7ACQbqT1})GzyYbV+aos4L62rMji5uX2e&AP2xPIst-knwD@iFi_v=483 zu*6{;h3iM5;ms%UlUF>8x|;1s88^UwJ#AXO=b4HWUH~iOnLypoBLht0DK=6PJeN1+ zQ#ery9E(2va`*zc3n?@GrY_LW`WSe@dA2#)&hXUC z&t{ay)J*ZD{{RyHo313XO_yk&muY<>4 zVDFANxH*|OLxhLmV*}~b__i}YcMN2vPV6A6V*uX-!J#Mte`N9}RYX|#3+XI`i}@%U ze`FFT-+L0)I`LDSokDXE$0xo5UkX>DYP|Rqs`ogkRNzInx{l254Ei%de;myBCBzZi z4KXJAe7-vrQ35^&4o3O~tC%~Kg5t#~C>t+MM+Nw{Gdwl((;I&=rQ!u~8mhvJMW_}p zKH$QO;rvV7Z3ed?O#>ApQkgH07mr3!7cdtOc1H2|wo^Ve^>ZWYdjVUn$-IY#6RGWd z&j_Y#UV^d+7bl>6d>)*EG;kHeSCFQEiY=GXC-7p_<=o?V@hG$%e`E@0(4YD_Z@5RP zd12mgW0s)k16!Oij{!aI7&Ygo{g1mg2zH37X;+*VD#? zi#MQBym&KOgD-$}D1;Yx-az|r=b!=e)i{P#eA{`LN8f17#VB!5(C6j&6nq-2MY>(< zVApK!X~N^+WR!!iggtMjw(v=C3{w0oxC<2$&QIGsGjTj^qXh61r0Q*ex8*Qe5ncdW z=T3^xql^oKK5Oy0__lK;HHWh6t#oF>#ROE0XUi`$7WsvMp6@*}!0bmF4x8ZU+lWL0 z*2Ol<(QbS>EX`%~l82A7m`0}*JUr?SY6Twy2TtVn!)L+ncaa7k2d7V>3Gl3eZK@~J z=kTnHZAN%g4U=?;bT|UxJ-*z73-v~>Z&P)fw#fwocJ`J|cVHE#`77#8* z(7{*XS)AJpL%RB6xE5_7+^fXA<6dZht@9YgAq8|8B8fMmMtmL&pJ8h&2A(t1wtWiB zN2hXj50!#Cpl&EqPQIfxp{iD2ubK(Y6H zo(+VH15qMgyc8wl#VcHR9{h0uH9@$!pK4#oK!lHh&!a{>Teg`O7x9$57!Nl;%!PS6 z!0cMWErDnIHuLWi>)FE1bbQ2mwsA8jEVVukCO%4A5?`|mzeWe}O>pO9ycf8H^T5I7 zjH>uF_$n&K*TKU`{lKi?E*Qjrs_GOt-T4Bz#rXz!;ToO`B-YfxY}9QS{Q$O3&=c3L zBDaddl?!_!y!Po+-z)&e{`CT}MetAdW?=@LBLHGkwp z!YkpHr)}GZVC6=tHWs?hst&{V_?9B{N#1Zp0)BZ&qKC|Td)0hpki4#2)qB zHN%G`QX8xByFKp@_#tg#6*U%Jv9h~+FO+UgTGt9<+a5cOTf~W1X87INd zk>BayU%#N8M^b87-$-J71AP5U1{{1HylFqL;q&0$uM7hOO?H5%AJScx1(*DjVVv-C z_?Y)CRiOj;{UMuK+Zjum$&`jVF^5Q;j}q`lW+U+=B<$nwscOQ-{U{wTHlaMc_)#-8 zjBkJkk)E`k`GJw{CmzAPQ2aAJ7U>T}_DeM0FI)lBgxE9DXzo!g{>U68PDmvDJ_823M!rExGUg30K-kOuej3+sJ&7P&V$?a25l z3ISIJ!%PyMJr2wX?b%Km9|t3t=%Hqcfi+Ag$|Ah&G$Kte8i|?+7c)^{6wUD`w)0xd zffAR)r;iCUop_-VPCS-~_yYJG6Y2Cc3&DpvhnXtHfuAG4lfq72!u%>_^8-_hbk5>G zhncQyO4CIAIQUdo>nma36T(cQmriwICUxV==m!Pxixb04I^j+5k@zrEgfE9D_9D?} zP6US_zvf^LQd_bs17CgHjE~Hm;mvLDBeQDS&bZM`9PcdttKy{MJhUAzu0?zB;`8VL zJ_J`MhM5+8CH(A+Fq3dK1%X?Zz3n?@4oD}*6 zar(kkq;ra&p)A51;pmHK|2z&dFt4L&`0X%?ua~jgzzX%@+7Yt+C7hde2%Ibdj%vA3G$sDM31+W_Fwh^11H(6=fIDU z;y1t>#)cVl9p{AIuXp2r-1T85;|8jT7sMu{Y7}#`xGM-3H;m)9#ETFR{#eTF}jgKGW^c@ zW_aCwwm_M1#5`^(;-tae^O=2%Pk_f4^8mwlgY38EcRIFrHcvfB?;pb?LwM>U3XNwQ zXmja9VSN6>0eeH6TNiVHXa8vJC2gW9smKP?z8CK;v55=dYo$DHiNpTV=Cem^TK1ea zk;|-SKWWqDF*+XSOoMUD?KmNhLAu~f=*{Opwebe{wewBz%auf;N)Nyxt7rlSnW1pb zYCAF(!B3yyipK@bKKRI!)|bHn6;%7J)FOPplB=J<;06O5DG=e}_A0;0Jl}*~py%^~ zxM7R+;>wqJ_TR?GWiTleW)5*8F>$NCMa7OUb7JBYz-N)JYy&KPg{R*2eC!5a`hX@O zZ3upG(E3K0+2T>fWSrR&X6pE*o4oj^_TgqICyfz1hMV0a7Bg8`DS>ct0zW8KcrKj5 z+)Z_^Liorr)|bI&So~1o8{q55S-&0bWyw8-@AEJ}bhZaA@R&ba-wB=?YkeZT=y>ag z!fU%)p9$|g!TNl7UpMO)z!fK2zY1>dZhbY}*~9vJ_+?x;<3FW1fC=kqUkJeCPqw}r zJS*P%zVOmhtRD`?^|C%2PVH^|H27eG^^4)!Q?0LnTTipT2ENa4YLqX(t?^7><~8VE z7ju!?Ph94_CfvN?d_BDWjBx+aoCV)PN?Qj<_X+nqDLaUomyp8Q)YtSr(|Yz~HEfUU zhl?TKGyco4Ik*3U$S$zH7vFQ94Vq2AvurpUdYUE9m%{IzZ-zt9wsFK_=f$4qg!_-_ zD!8(5xT&FIu7VGE=h}l}cz?felX@c$BzXUM&cl-a;U@bAdNN!-!1{7{Eek7Xu*!s; zFR(rq?sUE$-k)s4i{YgMtsf2}2U+h$VLnE2H#0uNjTc&91s_PUz8H?b$od?3(qNl7 z9)9F}1AJtN4KIVEhgzQj<1P+2wTu&Dqx0g9OKAUWGOoKM+&njoE5ld8)v4j8o-1Ah zAHLN3QuyI;+HgD_2lhy_J`VmgF5EQS!ru!wQlPu&A53v*fVbq^=E#9>IbR3=Jc%VK zviZn=k{51nm~0QS;8#<^%`{GQ0FJpk+(gqHnegW6;UuQK);FzZw|Mj6PHxvMIwl;wi})0XeY4HZ zJ=U|iuetn-aI=pN&VJkGm4nvTc$gEvVbI}|ZZ_UFQ=Mm5V8aI8rji6Ay8`=Oyd5b% z8+M!5ooAO|)9?fF$XI0STi=Uk9=7d06gDBIwwdUbaF%tV{WaVsVctTi+;VlW=T8j7 z_;|<;vZfNxcE{Rz-0wIdy8!z>1+u5Qi6#zPBO7+4_rpbg#qN9YsfY+uMrUVdX>&)A zi9dKYefLb4jx2_tdl7zk6jN`xciEuZd~$SzX{1WowA=h6#(FmPHjf+^!3@-(VY6>@ zWf$w&0Ni|!`V-D(--eC9{j?&ReEVLUdqRXcL=6?e`P~%mQEJS>6K$kocyXLPX)64w zr}gIK2(uC?gH^CH-o_WJPqAJ+CxLayDRf^LcN!~4;>8(Ae@_;|&zv`>NAUSC|LO0y z49KqFz8AC4Ad_48loBSK8DSQ1`-!ikM5=l_j7g$;@nR9uyJyjyWxY5IDNZWvb9RLP zO==Pxat_m-7(cwBn7DJ9zeJ}H_o4<~*axrb7h$%OI32!zKJE7xGKM!@U<;ZJvy$=r zRkRqc9mw1%?xqU3b&&Nn@cj#|-vbY(Sbqq%A58lzLG)lIc@42I#KQqYtxtwmUTi&^ zF`E~Vp6hIBZP?1#_u_cx*@oC`a9(_77*$NoZGg9@GMS7T%7dp~YJK9R9_`@{8sV19 zs10tp5L|M(^`-FM;WP>11@QI}tRhFPTTDR+uZ52q-vWPGM>F6VKTVJSv3}qB2-E#(n?W4B3+e92hjWlJD1u9!FM}J93M6X! zi$DI$TvbU&<7za4_qbH9BAf@m{q(X$?EgKmnDO@Rh8TnNWzefIf;JKS@ zcz<{$Qg}K%u1d|}ag~@c$iD(O-T4Cer1NXwPNWPP;0c@U)hEJ5Na2g&jOT6J7s8p< z^sR}E`Ed3Y3W_g+sV{M%c(J_~qKDtb2natyRrm(@%vS3+z*(^Hbw@kQ{v z9TBDu-wY4bA-s6%+hoRrDiKb8hcSS@H3dHXE}0Xj5)R!R!I;AMKO9qnQYld>?E1dF z8ckzJM!K?0c*!1avpXp@eE4HB#wRv#QlvPQumPz9iW5HNK}4Kfc-Ln(#TC&D|C3Y~v|`~P`&Pz}TX=`w($k*+2KZbtsM+5ckLMd~Z!1n2YM66ed| z7tS}rSzp_H%PzxI|NVu&iZ(G8`1@Ypcnk!UU3vW&G|$)94V5R>%2Js-?np= z!^23`*r}OY3-$dgw-$`}kpT@KfE7q1qnL5n`cioL&;GFOncqrGAKj}jOY_E<(#ts{)GJgA=t0K4et*>L@k_u58ON;U_1>D)tH9!1160Z#Df2^gPF~Yq9@U} z1_wN|V+hOM(?RNB6mzJHc|m*!<>Bk$BNqouD!vT9iFCzv@E}rVhu}@jtVN10kaRE1V{7gr!%aRof!yf`e~#?OR#&U-Qi?m&Fb`6^iJyx4xU zz4~Z4N}je%htp9S7f=A7Mk-Jx{KWYNc7=XRUQ|W=eQV$DrhCV`bO)sV7r^FkGhHbe;x-K zG8e-E+1!d#cn=TvI=>Ijyg6Ws2rq;^$6Fr{w@;uDgo{V#(z)<4u;q68P=DU4|AhkG zVaJ0O_`#jl?}42s;`RPN7IUQz@afP@3Yb_o7W|EZavpKV21Z!kxYogMHwR1(;fJ920v9%w z_x}Z$jxYKLCK_&f#ri7v9`ZAT#3wkjDH2@PXYnyx7BJyl-C+yL@1MEW8rw%F^K^ z=cmB6$iKhgUg!70&L6tW;0Wi_;JiJI5BJa+;g2X8-vUqhh-N6_AOW)x?c*w|;F%wD z?{fu7@LA_W@Ly;Tahl+wPiUrm?i%=GgB>MX;PZQJp{wD5&&inh$#4ZK#IJ%Ef5F2H zpZW#&|Jh&CS?C~rVa-?E-@G8kd>t^0@nXk=v^@olhNF;wr@)Vpo{$Z&{u??kam1Ux zwc*)t2WsLxbuji24>RJ3m!Lg&Gydmb_I}Svd0`(+`!@yB+b_5csj6#XpxL%}GJFoj zPouVA{*Sab4;yhiQhYJyu&oKP1?g`{aajxfiL}*ln)j2v<)*=oKievehA$!AiXnLV zFSbJ^!ZM^zB>sYw89$RTGm)C35axwN`k9G4kUC=>{2BQpV|b*wF2Z^*6XT(1N>l*1 zBAv7bP71Ks65&%|C)R{0#EajdHTY&Yx?QB1hR=ZekOmoXV=&U>5*~u#QIY;R1Mnbf zBK#0+X&>qNf2m;1c^z0`l^6QMDM+Oj-$N?UZg|I0k!I+w3eEaKF|{he8W8GoR&7io6JM*6?gt%rqO$($F&mJ?XF ziz*dQ?q;hi8NPaAq**|mT6j!%Tewc}L!?6Qfm*R)4RNyIm2u4Q$EU;8letK|cn2!d z`~N)5lwM@W3*s82b`t;Eo9ZGwj-@mPBGp6+tVS`@=|u2D7rqDn6De){Y3y@|6h8-k zdwQh*Ny;I3ZXXs;CT)M{Ri7E@-+p5Ib6Dk_7dpXnSxX~Nkzl)iWX7Em1!toQ!i!+s zdG?CM-~iU%AUq0AX3dU0_$e@nwL3Q8#bTtwi51p+zPa^6s+35%@DtRR%nrfhQ*456 za0b%Vbh?N|8qiS1f#E~!l?7lqQU??R!|a8L-y**$;e)9*&SF@Z>e&pcIY_&d4#lk{ zE2%Tpu3j8% zFDBZ<>_Wc)p)&ULH|&)6W|Gsec524A?I9!{KUIPnG> zCm&ABiZlg;i{B$%STl?sNBgTihGP~X`NeSCjjR&8qcAIIvc(^dq zWD}@5Ulv%O2RA*y!vCD73WgSvhWIhXk!A~0US0@u*Ms&TAAXDUhsPl}aWU;m;zD@q z!}bA_3y)r6NsR_hy-;Ffo#A$&I@7ca0Ub>64 z6mB@oMZAskOcmy5q*9yRJTBj7xaA&Q03$x2Rya`rZbJ?DTKMpX_LkcKzef7ZzZs6% zL&lsZ6HaqptVeoFC&qtd<21o#|L|!4*;LU#crbj%eTrWUul$@0sP=UDZ={npL+=Y) z)dlcvq&`s(n~*L*T;E6>2ChnY{FgRuJlygX9hvio;3)?f1MmqR=2N5rWFPGKFRF$Y zl3+PnfEPnZ?|Q|nzh)N=!nHl{T}@<;&xd^u+RT#Rn@G)C2XnsRNk<$p{9EGS1Mo2N zsyS%EtUhF~U=7r|O!b6|Tam7;2KH#?%H}Zmz~#vQkplb~#SotM18Y2?SiII)yz)mI zM{7mBT%c>F77b*e?|+{_*bs@r$}=)3Q_H8@M=_xFM!1g*XO%1HmsfhS#J^y zIo|-A&~D<0W20=GJa`^Et?IL3?YR0qN($;g=V4PzKFW1~lpDvq{O1uHB}r@Yo01x)Viz+7qupKP~qaE&Wl=vP2u9F z&WkO*Xn(!X!a?WW){A|d7l%17-hgxkqE?$zT2U*=DO_CZyjFFqLy98?6WHmUku(Ml zb3Xkf%u`4YmI}Yc4|9QIM%LWl(aH9X46sOQ6K;5qKtJ}>vGoRtt(nrysmUz z`MNdhD%Vx53$3eNSGR8Wx`uU)>zdXzuQL_J6{QvB6>BOgE2=6&6}1(070pbMWBe+4 z@tCLqC2z73PKT5gsVmY}WURGNRwt}ZTHSwj%IehB OX{(LdR1p)E9`?UbadM;p diff --git a/include/helpers/check_hresult.h b/include/helpers/check_hresult.h new file mode 100644 index 00000000..5fe4603e --- /dev/null +++ b/include/helpers/check_hresult.h @@ -0,0 +1,20 @@ +#ifndef WINRT_CHECK_HRESULT_WRAPPER_H +#define WINRT_CHECK_HRESULT_WRAPPER_H + +#include +#include + +inline void check_hresult(const char *key, HRESULT hr) +{ + try + { + winrt::check_hresult(hr); + } + catch (const winrt::hresult_error &e) + { + std::string msg = std::string("[") + key + "] " + winrt::to_string(e.message()); + throw winrt::hresult_error(e.code(), winrt::to_hstring(msg)); + } +} + +#endif diff --git a/include/napi_helpers/napi_extract_args.h b/include/helpers/napi_extract_args.h similarity index 79% rename from include/napi_helpers/napi_extract_args.h rename to include/helpers/napi_extract_args.h index 027a519c..8f95985e 100644 --- a/include/napi_helpers/napi_extract_args.h +++ b/include/helpers/napi_extract_args.h @@ -4,47 +4,52 @@ #include #include -template +template T napi_extract_value(napi_env env, napi_value value); -template<> -inline std::wstring napi_extract_value(napi_env env, napi_value value) { +template <> +inline std::wstring napi_extract_value(napi_env env, napi_value value) +{ size_t length; napi_get_value_string_utf16(env, value, nullptr, 0, &length); std::wstring result(length + 1, L'\0'); size_t actualLength; - napi_get_value_string_utf16(env, value, reinterpret_cast(result.data()), length + 1, &actualLength); + napi_get_value_string_utf16(env, value, reinterpret_cast(result.data()), length + 1, &actualLength); result.resize(actualLength); return result; } -template<> -inline int64_t napi_extract_value(napi_env env, napi_value value) { +template <> +inline int64_t napi_extract_value(napi_env env, napi_value value) +{ int64_t result; napi_get_value_int64(env, value, &result); return result; } -template<> -inline bool napi_extract_value(napi_env env, napi_value value) { +template <> +inline bool napi_extract_value(napi_env env, napi_value value) +{ bool result; napi_get_value_bool(env, value, &result); return result; } -template -inline std::tuple napi_extract_args_impl(napi_env env, napi_value* argv, std::index_sequence) { +template +inline std::tuple napi_extract_args_impl(napi_env env, napi_value *argv, std::index_sequence) +{ return std::make_tuple(napi_extract_value(env, argv[Is])...); } -template -inline std::tuple napi_extract_args(napi_env env, napi_callback_info info) { +template +inline std::tuple napi_extract_args(napi_env env, napi_callback_info info) +{ constexpr size_t N = sizeof...(Types); size_t argc = N; napi_value argv[N]; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - + return napi_extract_args_impl(env, argv, std::make_index_sequence{}); } diff --git a/include/napi_helpers/napi_safe_wrap.h b/include/helpers/napi_safe_wrap.h similarity index 79% rename from include/napi_helpers/napi_safe_wrap.h rename to include/helpers/napi_safe_wrap.h index 15df7255..2073b805 100644 --- a/include/napi_helpers/napi_safe_wrap.h +++ b/include/helpers/napi_safe_wrap.h @@ -6,19 +6,27 @@ #include template -napi_value napi_safe_wrap(napi_env env, napi_callback_info info, Fn&& fn, const char* function_name) { +napi_value napi_safe_wrap(napi_env env, napi_callback_info info, Fn &&fn, const char *function_name) +{ std::ostringstream oss; - try { + try + { return fn(env, info); - } catch (const winrt::hresult_error& e) { + } + catch (const winrt::hresult_error &e) + { oss << "[" << function_name << "] WinRT error: " << winrt::to_string(e.message()) << " (HRESULT: 0x" << std::hex << e.code() << ")"; - } catch (const std::exception& e) { + } + catch (const std::exception &e) + { oss << "[" << function_name << "] " << e.what(); - } catch (...) { + } + catch (...) + { oss << "[" << function_name << "] Unknown native error"; } - + napi_throw_error(env, nullptr, oss.str().c_str()); return nullptr; } diff --git a/native-src/placeholders_interface/Planceholders.cpp b/native-src/placeholders_interface/Planceholders.cpp index fd96fdb1..0514a97f 100644 --- a/native-src/placeholders_interface/Planceholders.cpp +++ b/native-src/placeholders_interface/Planceholders.cpp @@ -14,6 +14,7 @@ #include #include #include "convert_to_placeholder.h" +#include #pragma comment(lib, "shlwapi.lib") @@ -50,11 +51,13 @@ void Placeholders::UpdateSyncStatus(const std::wstring &path) { auto fileHandle = Placeholders::OpenFileHandle(path, FILE_WRITE_ATTRIBUTES, true); - winrt::check_hresult(CfSetInSyncState( - fileHandle.get(), - CF_IN_SYNC_STATE_IN_SYNC, - CF_SET_IN_SYNC_FLAG_NONE, - nullptr)); + check_hresult( + "CfSetInSyncState", + CfSetInSyncState( + fileHandle.get(), + CF_IN_SYNC_STATE_IN_SYNC, + CF_SET_IN_SYNC_FLAG_NONE, + nullptr)); SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH, path.c_str(), nullptr); } @@ -63,16 +66,18 @@ void Placeholders::UpdateFileIdentity(const std::wstring &path, const std::wstri { auto fileHandle = OpenFileHandle(path, FILE_WRITE_ATTRIBUTES, true); - winrt::check_hresult(CfUpdatePlaceholder( - fileHandle.get(), - nullptr, - placeholderId.c_str(), - static_cast(placeholderId.size() * sizeof(wchar_t)), - nullptr, - 0, - CF_UPDATE_FLAG_NONE, - nullptr, - nullptr)); + check_hresult( + "CfUpdatePlaceholder", + CfUpdatePlaceholder( + fileHandle.get(), + nullptr, + placeholderId.c_str(), + static_cast(placeholderId.size() * sizeof(wchar_t)), + nullptr, + 0, + CF_UPDATE_FLAG_NONE, + nullptr, + nullptr)); } FileState Placeholders::GetPlaceholderInfo(const std::wstring &path) @@ -85,12 +90,14 @@ FileState Placeholders::GetPlaceholderInfo(const std::wstring &path) std::vector buffer(infoSize); auto *info = reinterpret_cast(buffer.data()); - winrt::check_hresult(CfGetPlaceholderInfo( - fileHandle.get(), - CF_PLACEHOLDER_INFO_BASIC, - info, - infoSize, - nullptr)); + check_hresult( + "CfGetPlaceholderInfo", + CfGetPlaceholderInfo( + fileHandle.get(), + CF_PLACEHOLDER_INFO_BASIC, + info, + infoSize, + nullptr)); std::string placeholderId(reinterpret_cast(info->FileIdentity), info->FileIdentityLength); diff --git a/native-src/sync_root_interface/SyncRoot.cpp b/native-src/sync_root_interface/SyncRoot.cpp index 6f02babf..1723801a 100644 --- a/native-src/sync_root_interface/SyncRoot.cpp +++ b/native-src/sync_root_interface/SyncRoot.cpp @@ -4,6 +4,7 @@ #include #include #include +#include std::map connectionMap; @@ -19,14 +20,14 @@ void SyncRoot::ConnectSyncRoot(const wchar_t *syncRootPath, InputSyncCallbacks s CF_CONNECTION_KEY connectionKey; - HRESULT hr = CfConnectSyncRoot( - syncRootPath, - callbackTable, - nullptr, - CF_CONNECT_FLAG_REQUIRE_PROCESS_INFO | CF_CONNECT_FLAG_REQUIRE_FULL_FILE_PATH, - &connectionKey); - - winrt::check_hresult(hr); + check_hresult( + "CfConnectSyncRoot", + CfConnectSyncRoot( + syncRootPath, + callbackTable, + nullptr, + CF_CONNECT_FLAG_REQUIRE_PROCESS_INFO | CF_CONNECT_FLAG_REQUIRE_FULL_FILE_PATH, + &connectionKey)); connectionMap[syncRootPath] = connectionKey; } @@ -36,9 +37,7 @@ void SyncRoot::DisconnectSyncRoot(const wchar_t *syncRootPath) auto it = connectionMap.find(syncRootPath); if (it != connectionMap.end()) { - HRESULT hr = CfDisconnectSyncRoot(it->second); - - winrt::check_hresult(hr); + check_hresult("CfDisconnectSyncRoot", CfDisconnectSyncRoot(it->second)); connectionMap.erase(it); } diff --git a/native-src/sync_root_interface/callbacks/FetchData/FetchData.cpp b/native-src/sync_root_interface/callbacks/FetchData/FetchData.cpp index ae119a32..132a0ca5 100644 --- a/native-src/sync_root_interface/callbacks/FetchData/FetchData.cpp +++ b/native-src/sync_root_interface/callbacks/FetchData/FetchData.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -76,7 +77,7 @@ napi_value response_callback_fn_fetch_data(napi_env env, napi_callback_info info if (FAILED(hr)) { transfer_data(ctx->connectionKey, ctx->transferKey, nullptr, ctx->requiredOffset, ctx->requiredLength, STATUS_UNSUCCESSFUL); - winrt::throw_hresult(hr); + check_hresult("transfer_data", hr); } size_t completed = offset + length; @@ -90,9 +91,12 @@ napi_value response_callback_fn_fetch_data(napi_env env, napi_callback_info info winrt::com_ptr shellItem; winrt::com_ptr propStoreVolatile; - winrt::check_hresult(SHCreateItemFromParsingName(ctx->path.c_str(), nullptr, __uuidof(shellItem), shellItem.put_void())); + check_hresult( + "SHCreateItemFromParsingName", + SHCreateItemFromParsingName(ctx->path.c_str(), nullptr, __uuidof(shellItem), shellItem.put_void())); - winrt::check_hresult( + check_hresult( + "shellItem->GetPropertyStore", shellItem->GetPropertyStore( GETPROPERTYSTOREFLAGS::GPS_READWRITE | GETPROPERTYSTOREFLAGS::GPS_VOLATILEPROPERTIESONLY, __uuidof(propStoreVolatile), diff --git a/native-src/virtual_drive/convert_to_placeholder.cpp b/native-src/virtual_drive/convert_to_placeholder.cpp index cbf4ab54..c12e0dc8 100644 --- a/native-src/virtual_drive/convert_to_placeholder.cpp +++ b/native-src/virtual_drive/convert_to_placeholder.cpp @@ -3,6 +3,7 @@ #include "stdafx.h" #include "napi_extract_args.h" #include "Placeholders.h" +#include void convert_to_placeholder(const std::wstring &path, const std::wstring &placeholderId) { @@ -19,7 +20,7 @@ void convert_to_placeholder(const std::wstring &path, const std::wstring &placeh if (hr != 0x8007017C) // Already a placeholder { - winrt::check_hresult(hr); + check_hresult("CfConvertToPlaceholder", hr); } } diff --git a/native-src/virtual_drive/create_file_placeholder.cpp b/native-src/virtual_drive/create_file_placeholder.cpp index 5850ab3c..81b29584 100644 --- a/native-src/virtual_drive/create_file_placeholder.cpp +++ b/native-src/virtual_drive/create_file_placeholder.cpp @@ -3,6 +3,7 @@ #include "Placeholders.h" #include "convert_to_placeholder.h" #include "napi_extract_args.h" +#include napi_value create_file_placeholder_impl(napi_env env, napi_callback_info info) { @@ -33,7 +34,9 @@ napi_value create_file_placeholder_impl(napi_env env, napi_callback_info info) cloudEntry.FsMetadata.BasicInfo.LastAccessTime = lastAccessTime; cloudEntry.FsMetadata.BasicInfo.ChangeTime = lastWriteTime; - winrt::check_hresult(CfCreatePlaceholders(parentPath.c_str(), &cloudEntry, 1, CF_CREATE_FLAG_NONE, NULL)); + check_hresult( + "CfCreatePlaceholders", + CfCreatePlaceholders(parentPath.c_str(), &cloudEntry, 1, CF_CREATE_FLAG_NONE, NULL)); return nullptr; } \ No newline at end of file diff --git a/native-src/virtual_drive/create_folder_placeholder.cpp b/native-src/virtual_drive/create_folder_placeholder.cpp index b64b3d0e..51c9eeb1 100644 --- a/native-src/virtual_drive/create_folder_placeholder.cpp +++ b/native-src/virtual_drive/create_folder_placeholder.cpp @@ -3,6 +3,7 @@ #include "Placeholders.h" #include "convert_to_placeholder.h" #include "napi_extract_args.h" +#include napi_value create_folder_placeholder_impl(napi_env env, napi_callback_info info) { @@ -31,7 +32,10 @@ napi_value create_folder_placeholder_impl(napi_env env, napi_callback_info info) cloudEntry.FsMetadata.BasicInfo.LastWriteTime = lastWriteTime; cloudEntry.FsMetadata.BasicInfo.LastAccessTime = lastAccessTime; - winrt::check_hresult(CfCreatePlaceholders(parentPath.c_str(), &cloudEntry, 1, CF_CREATE_FLAG_NONE, NULL)); + check_hresult( + "CfCreatePlaceholders", + CfCreatePlaceholders(parentPath.c_str(), &cloudEntry, 1, CF_CREATE_FLAG_NONE, NULL)); + Placeholders::UpdateSyncStatus(path); return nullptr; diff --git a/native-src/virtual_drive/dehydrate_file.cpp b/native-src/virtual_drive/dehydrate_file.cpp index a6d9ef72..c821307e 100644 --- a/native-src/virtual_drive/dehydrate_file.cpp +++ b/native-src/virtual_drive/dehydrate_file.cpp @@ -2,6 +2,7 @@ #include "napi_extract_args.h" #include "stdafx.h" #include "Placeholders.h" +#include napi_value dehydrate_file(napi_env env, napi_callback_info info) { @@ -21,12 +22,14 @@ napi_value dehydrate_file(napi_env env, napi_callback_info info) LARGE_INTEGER length; GetFileSizeEx(fileHandle.get(), &length); - winrt::check_hresult(CfDehydratePlaceholder( - fileHandle.get(), - offset, - length, - CF_DEHYDRATE_FLAG_NONE, - nullptr)); + check_hresult( + "CfDehydratePlaceholder", + CfDehydratePlaceholder( + fileHandle.get(), + offset, + length, + CF_DEHYDRATE_FLAG_NONE, + nullptr)); return nullptr; } diff --git a/native-src/virtual_drive/hydrate_file.cpp b/native-src/virtual_drive/hydrate_file.cpp index 8aabc0c0..e76f2fb3 100644 --- a/native-src/virtual_drive/hydrate_file.cpp +++ b/native-src/virtual_drive/hydrate_file.cpp @@ -3,6 +3,7 @@ #include #include #include +#include struct AsyncWork { @@ -29,12 +30,14 @@ void hydrate_file(const std::wstring &path) LARGE_INTEGER length; GetFileSizeEx(fileHandle.get(), &length); - winrt::check_hresult(CfHydratePlaceholder( - fileHandle.get(), - offset, - length, - CF_HYDRATE_FLAG_NONE, - nullptr)); + check_hresult( + "CfHydratePlaceholder", + CfHydratePlaceholder( + fileHandle.get(), + offset, + length, + CF_HYDRATE_FLAG_NONE, + nullptr)); } void execute_work(napi_env env, void *data) diff --git a/package.json b/package.json index 63b952b6..57c5c304 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@internxt/node-win", - "version": "1.0.27", + "version": "1.0.28", "author": "Internxt ", "description": "Drive desktop node addon", "main": "dist/index.js",