SWENUM.SYS (PnP software device enumerator)

Hi,

where can I finde more information about SWENUM.SYS?
Can I use this to enumerate any software device of
is this specific to an device calss?

At the moment I am about to write a virtual bus driver
for my virtual devices, so I wonder if I can use this
driver somehow?

regards, Axel


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Yes you can use this to enumerate virtual devices of any class, but there
are numerous other problems such as not being able to disable/enable,
uninstall or reinstall these devices. To uninstall you have to manually go
and delete the registry entries of all the registered interfaces. Otherwise,
it will get reenumerated if somebody opens the interface again. If there is
no open handle to the device, you can’t see them in the device manager
unless you set the magic DEVMGR_SHOW_NONPRESENT_DEVICES variable.

I like the SWENUM concept - loads the driver only when somebody opens the
interface registered for the device - but as it stands now, it’s not feature
complete for other device classes. It’s more device interface centric. We
are making some changes to the SWENUM interface to be more generic Software
driver enumerator on future oses.

I wrote a sample driver looong time ago to explore this concept and then
decided not to include in the DDK for lack of documentation and above
mentioned reasons. If anybody wants to JUST PLAY around with it to
understand how this works, send me a note. I can give you the source. It’s
cool. Just 15 lines of code and your software device is ready to pnp.

-Eliyas

-----Original Message-----
From: Axel Heider
Sent: Mon 12/18/2000 5:26 AM
To: NT Developers Interest List
Cc:
Subject: [ntdev] SWENUM.SYS (PnP software device enumerator)

Hi,

where can I finde more information about SWENUM.SYS?
Can I use this to enumerate any software device of
is this specific to an device calss?

At the moment I am about to write a virtual bus driver
for my virtual devices, so I wonder if I can use this
driver somehow?

regards, Axel


You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

begin 600 winmail.dat
M>)^(BL70:0"``$```````!``$``0\>0!@(Y`0```````#H``$%@`,` M#@```-`'#``3``X`&``A``(`/P$!"8`!`"$xxxxx@S0C8R-3!$0T$T130X
M.#)$-3U1C(T0T)!130R-``_!P$@@,#@```-‘#3`+PH``(7@$!
M#8$``(````"``(``0.0!@"4%```.@```$``.0!8TB-V"FK``1\,4!```` M#@```#,-0U#,.0P#`!I``````!\`,$`!````#@```#,`-0`U M`#,`.0`P#!E``````!\20!````:````%L;@!T&090!V%T
M(!3%<10!.%430N%,60!3"``*!0&X4@`',`;P!F`'0`=P!A M`'(`90`@`&0`90!V`&D`8P!E`"90!N'4;0!E'(80!T&\<@I```` M0!.!CTR_V:,`!`@%;$!!`````````($K'Z2^HQ`9G6X`W0$/5`(` M````07AE;"!(96ED97(`4TU44`!A\>&5L+FAE:61E<d>M?&amp;8``0````H```!3$T5!0?`&amp;&lt;``0```#````!A`'@`90!L<br>M`"X`:`!E`&amp;D`9`!E`'(`0`!T`&amp;\`=P!I`'0`;P!K`&amp;\`+@!D`&amp;4````?`%H`<br>M`0```!@```!!`'@`90!L`"``2`!E`&amp;D`9`!E`'(````?`#)``0```#````!A<br>M`'@`90!L`"X`:`!E`&amp;D`9`!E`'(`0`!T`&amp;\`=P!I`'0`;P!K`&amp;\`+@!D`&amp;4`<br>M```"`5P``0```!T```!33510.D%814PN2$5)1$520%1/5TE43TM/+D1%````<br>M``,`'4@%>$```!!`````````($K'Z2^HQ`9G6X`W0$/5`(`````<br>M07AE;"!(96ED97(`4TU44`!A&gt;&amp;5L+FAE:61E<d>M`&amp;@0H```!3`$T`5`!0```````?`&amp;D``0```#!A'@90!L"X
M:!E&D9!E'(0!T&`=P!I'0;P!K&amp;\+@!D&amp;4````?%T0
M!@```!!’@90!L"2`!E`&amp;D`9`!E`'(````?`#-0#````!A`'@`<br>M90!L`"X`:`!E`&amp;D`9`!E`'(`0`!T`&amp;\`=P!I`'0`;P!K`&amp;\`+@!D`&amp;4````"<br>M`5\``0!T!33510.D%814PN2$5)1$520%1/5TE43TM/+D1%``````,`<br>M'D```````@%Q``$````;`````M`!\`=``!````.````$X`5``@`$0`90!V`&amp;4`;`!O`'``90!R`',`(`!)`&amp;X`<br>M=`!E`'(`90!S`'0`(`!,`&amp;D`<p>M6D9U4]ZS]P,`"@!R8W!G,3(U@C(#0VAT;6PQ`S`_`0,!]PJ``J0#XP(`8VC!<br>M"L!S970P(`&lt;3`H#_$`,`4`16"%4'LA'5#E$#`=T0US(&amp;``;#$=4S!$80V=D2<br>M[V8T`\81BC4#Q@=M;P*`$&gt;,([PGW.QP/#C`UWQTO'C\<q1>M9#,V$6`+I30@$`+L*EP.L@&amp;09Q3P"J,1XP4CJ#04\#PA1$]#`%194$4@2%1-<br>M`$P@4%5"3$E#`"`B+2\O5S-#$2=`1%1$)E0S+C+A)T!%3B(^)*TD3RF!?#$X<br>M);`F8BC/*=\L4#/C(T`K,$5!1"N-#O$LKPLO+RJT-@[P/$U%5(I!![!!,B`]<br>M(D&lt;)\"D$D&amp;%T!;`B%Q!/3II4*)!4,K`%X45X$/'H;F=E!E)V$S$U`0"0`0(@<br>M(#8N,"XT-#LK`"A0,BB^,(\JPS<wp26p5>M02B054TN4UD%\"A`4&amp;Y0('-O`8!WOPK`-+`xxxxx@-+`)\'4'@-4S$RDJ+C4E<br>ML"\Y'S=/ORP%.F$^X"X/+%]"M#418"`\0D]$63R0:7+Z/4+0<d>M13&amp;&lt;9&amp;\`X$4Q"K%&lt;&lt;1OP_T4Q$/`#,$65$6!"2R*Q0T^(9SDV);!$259%:6&lt;`<br>M`$&gt;G0FDV-$K?1_)9I0&gt;1&gt;0A@(&amp;,#D741,-@@=&amp;@$`$\P;ST'-+![/,``('4'<br>M0#R5!"`\("`=`'!Y3K`+8`00+"!B_G4%0$]`!)`TL$#,214\8L\](PA@44%2<br>xxxxx@B!P`V`"8/1E;00@<r>M5Q)2('7W`P``@`&amp;0;`,@4N])0@6Q7Q_@6+92@4\14.4N&amp;A!O!4)+."-`)FYB<br>M<w>M/TE"^U*!6J%G!`!%0%&amp;P"?!%0/\(D%%$6R1CE5*A88`+@&amp;6Q=F8`T%P"3U*"<br>M`_%886G_!4`#\%D!-*`%0&amp;(?24()TK]/Y67Q1?`\$`&gt;`!N!D4;!\;W`)\$]Q<br>M8W%F%U&amp;`9_L+&lt;5P@247P4H1/859P:Q/_8!%A&lt;%<q:>M)P5`$3!/(E6P9@'_;_E@DD+P$S%8D%6@!!%.@N\1,643`,!CP&amp;-N?TD_#A"J<br>M-"L11C.1(&amp;9B/0&lt;3XTZP&amp;Y(](S!XP0$@2LM[`#,&amp;,3\$&gt;/=I]WHR+_!VTS<br>M8`JC&gt;%EXP'DL/L!Z(0(S&gt;FE$159-1U*`7U-(3U=?3C.0T%!215,SP5^!`2;P<br>MOX(0-3`*P`<p59>M@"H_C`MT2&gt;@2JN%F4@_=?]*7_]+;TQ_D7I&lt;;UU_7HJ)+XH__XM/C%^-;XY_<br>MCX^0GY:ODK_!F\=)(&amp;QI:W.P4M&gt;$%N/.`%,2VB&lt;&amp;]A&gt;F1K9&amp;0%$#4"`B!A<br>M`7?_4I`#H&amp;J?;F^=1&amp;O(96D"$/\%P'(II`!20E9!9X%8T6%P&gt;592=RR47Y5O<br>M7HIG@"?G5E2G#YUB9F4S(`AP-+#]!:!M"U!ATJFB500\I5'3_5P"2:[R!&amp;`\<br>M&gt;&amp;O(/.!D0NYC7""O?YUB5VQ!/'$`P/YK5M*ETDZP-'-/<z>M-*`R\72Q4SPF_[6_G6*DQ3T8I2%WD%)0L0+^;[,CES^83YE?FF^;?YR/_YV?<br>MGJ^?OZ#/P_^LCZV?EO__P#_!3\)?PV_$?\6/QI_'KUO(OZ&amp;==P-@4#%A/`!A<br>MW[%BI+8;H-HP5N%T!W%L4?MOX4^A&gt;`M0L])/0Z.&amp;86+?4H$#H+O_O0,%D&amp;D!<br>M`&amp;&amp;`;U9R3Y$+@%'0=0$`&lt;&gt;9$S$1+J9,+8&amp;-K45)&amp;4;\],0(P,R`xxxxx@F%B`:!O<br>M8$'_X:(xxxxx@67AW3]I5%'P`B"S0A]1<vk3>`4$Q!1-`*P`A@<br>M87'_`_!/0&amp;=QRI_+KUZ*3Y'G&lt;7\U4:MB8!"KT.-_8Q5/87=]!;!K4A$1,&amp;%Q<br>MVK)68F7_ADSH_UY.HF!.PF/`8$%xxxxx@O]C8CP0"'`\X+6=[__Q#Z[R[P6@!O"U<br>MG].$2D\`!4"'(/^B&lt;3+P44,%H-_!86)xxxxx@07`'SP&gt;3V'DT6KQ3Y%P;G#^+LU_<br>MSH_/G]"OT;_2S]/?_]3OU?_7#P$?]#_U3\T__5 ___F__?P"/`9\"KP._!,\%<br>MW^D2VRU%HH!Y4?`*GPNO_PR_#&lt;\.WP_O$/\2#Q,?%"__&amp;L\(/PE/"E\7#Q@?<br>M&amp;2\:/P&lt;;3QQ?'6-"3$]#2[A154\SL$3FJT%Y5:`!,_%!4D=)3BU2`$E'2%0Z<br>M(#!P_G@V&lt;2+8?@$I8D:51S-&amp;\?]Z;RG/.:LQ,#.@*J\=KR._QQ_/,,='(&amp;DS<br>M-GK_=R8H<vez>2QS,O<r>#!&gt;37.!<p>M4G]%:_DA,5`POR'7*[`U*V+E,*E&amp;V-!M.C/L&gt;E`GL"-":H69($%X8;`@2/]6<br>MP.M1]S\R7R(B,[X_+T`_]T%/0E],F%-D,41/15]&amp;9P)-OF$Q,B\Q."]#.]!^<br>ML"`U.C*'0$'_HV!*/TM/3%]-;TY_5N1&lt;0.]0+U$_1F=W&lt;42J,$&lt;0:R%_ZW#Q<br>M\&amp;O29("O7TBO2;9,?ZDA5#]53U9?5V]8?V.50_YC6A];+T9G80]B'V,O9#_C<br>M94]/A75B:MZ04!]GWRU&amp;6%M0`*HA7:,%+E/"68+0*%!N4/IX7C_O7T])U*HE<br>MO;@I:8]JGVNO_W@_&gt;4]Z7X:_&lt;.\C_R4/)A]_)R]_KS$_=5\S7S;EA#!0?RZ/<br>M.`DW?SB/.9\ZKSN]2/YIJ_Q^WT7^@;^"Q8G/A7__@42$,8F1A?^'#X@?B2^+<br>MS_^,WXWOCO^6)Z6!L1+R,?(`_F;?\/G!L\/?\."AMW#A]/&gt;F$*K!<m>MWVC/=+__=&lt;]*+WP/?1^=KYZ_G\]F&lt;_^A@_B@V[7;(KW%^=+[\/J.__J0I%^E<br>M;Z9_IX^HGZFOJK__J\^LWZWOKO^[@K$"[8(BD'O&gt;D:'08]L2\C%VY?(@;/\]<br>MH*1/M&amp;^2WY/OE/^['Y<?_Y @OF3^:3YM?G&^[O[S/O=_]QQ5!WR'@,:(PX:+Q<br>M\=E0?Z,UVR'8P.@`[I)W`,3`=?T]46+XH-FEP9_"K[6/MI__MZ^XO[G/NM_.<br>M?\^/T)_=8O^BH&gt;YP^_#4)G;D[@+\(/(`_^W`ZT+[&lt;"\0\@2PIM5/UE__UV_8<br>M?]F/VI_;K]R_W&lt;_&gt;WQ_?[^RBU.2R,7&gt;`:&amp;]W_\&amp;/Y8_#K\2_Q&lt;_L/\?OZ@O_<br>M&lt;)'K#/9OR/_*#\L?S"_-/U_LW^WO[O_[)xxxxx@xxxxx@9/xxxxx@4;R\6_R?_./])_U<br>MK_K___?/^-_Y[PK/_`_]'_XO_S__`$\!7P)O`W\\@P5_!H_FK[_J/^M/#Q\5<br>MKQ:_%\U9HV"ST_"A0G5R7&gt;!0`&amp;RR(8EO0'-C/0!B963`4M_G;Q"_Z81R8]/P<br>M<rx>/Q]/(%\7S5GP<br>MX_!N_R-WLC#2@"0`U``D7R5OZ82T8FRR`&amp;MW0*+0:4&lt;@420A;&amp;5A71`M<f>M,#<s2>A!-"3$^`0TM1<br>M54]413I/;S_/$&amp;]%'Q$W-2^1&lt;,!/O$19R+UPD$;?$:$WA#%02%1-3"S@?4N0<br>M`!\`1Q`!````'@&T90!S’,80!G&4+P!R&88PX#(,@<br>M`P`F```````#`#8```````,`WC_I_0```P#Q/PD$```#`/T_Y`0``!\`&lt;``!<br>M````:````%L`;@!T`&amp;0`90!V`%T`(`!3`%&lt;`10!.`%4`30`N`%,`60!3`"``<br>M*`!0`&amp;X`4``@`',`;P!F`'0`=P!A`'(`90`@`&amp;0`90!V`&amp;D`8P!E`"``90!N<br>M`'4`;0!E`'(`80!T`&amp;\`&lt;@`I````"P#R$`$````+`/00L]1``````<br>M"P#V$``````?/,00```'P```!2$4)0S$$(!;&X=!D&amp;4=@!=
M"``4P!7$43@!5$T+@!3%D4P@"@4!N%(`!S`&amp;\`9@!T`'&lt;`<br>M80!R`&amp;4`(`!D`&amp;4`=@!I`&amp;,`90`@`&amp;4`;@!U`&amp;T`90!R`&amp;$`=`!O`'(`*0`N<br>M`$4`30!,`````@%'$R8SU54SMA/4U#23MP/6US9G0[;#U2140M
M35-'+3U+3P,3(Q.3(R,C0S,UHM,SDS.0(!^3\!40````````#<
MIT#(P$(0&K2Y"K+^&amp;"`0`````````O3SU-24-23U-/1E0O3U4]3D]25$A!<br>M345224-!+T-./5)%0TE0245.5%,O0TX],S4U,SDP`````!\`^#\!````&amp;@
M`$4`;`!I`‘D`80!S`"60!A`&amp;L`=0!B```````?`#A0````X````S`#4`
M-0`S`#D`,````````@’[/P$!1`````````-RG0,C`0A`:M+D(`"LOX8(!<br>M`````````"]//4U)0U)/4T]&amp;5"]/53U.3U)42$%-15))0T$O0TX]4D5#25!)<br>M14Y44R]#3CTS-34S.3``````'P#Z/P$````:````10!L`&amp;D`&gt;0!A`',`(`!9<br>M`&amp;$`:P!U`&amp;(``````!\`.4`!````#@#,`-0`U`#,`.0`P``````!```

xxxxx@G*xxxxx@5JP`%```@PK"T+$Q9JP`$?`!H0```!(```!)`%30`N`$X`3P!4
M`$4``````!`-P`!````<````%(`10`Z`“6P!N`'0`9`!E`'8`70`@`%,`<br>M5P!%`$X`50!-`"X`4P!9`%,`(H`%``;@!0`”``

M`"``9`!E`'8`:0!C`&4`(`!E`&X`=0!M`&4`<@!A`'0`;P!R`"D````?`#T`
M`0````H```!2`$4`.@`@```````?`!T.`0```&@```!;`&X`=`!D`&4`=@!=
M`"``4P!7`$4`3@!5`$T`+@!3`%D`4P`@`"@`4`!N`%``(`!S`&\`9@!T`'<`
M80!R`&4`(`!D`&4`=@!I`&,`90`@`&4`;@!U`&T`90!R`&$`=`!O`'(`*0``
M`!\`-1`!````G@```#P`,``Q`#(`10`T`$0`.``S`#4`-``Y`#$`00`R`#0`
M.``Y`$(`0@`S`$(`.0!!`$0`-P!&`#``.``V`$8`1@`R`#0`.``X`#4`.0`R
M`$``<@!E`&0`+0!M`',`9P`M`#``-0`N`'(`90!D`&T`;P!N`&0`+@!C`&\`
M<@!P`"X`;0!I`&,`<@!O`',`;P!F`'0`+@!C`&\`;0`^```````+`"D`````
M``L`(P```````P`&$)!>4X,#``<0O04```,`$!```````P`1$``````>``@0
M`0```&4```!915-93U5#04Y54T542$E35$]%3E5-15)!5$5625)454%,1$56
M24-%4T]&04Y90TQ!4U,L0E545$A%4D5!4D5.54U%4D]54T]42$524%)/0DQ%
M35-354-(05-.3U1"14E.1T%"``````(!?P`!````3P```#PP,3)%-$0X,S4T
M.3%!,C0X.4)",T(Y040W1C`X-D9&,C0X.#4Y,D!R960M;7-G+3`U+G)E9&UO
:;F0N8V]R<"YM:6-R;W-O9G0N8V]M/@``YU(=
`
end

---
You are currently subscribed to ntdev as: $subst('Recip.EmailAddr')
To unsubscribe send a blank email to leave-ntdev-$subst('Recip.MemberIDChar')@lists.osr.com

Yes I do. Please send me one.

Thanks

From: Eliyas Yakub
>Reply-To: “NT Developers Interest List”
>To: “NT Developers Interest List”
>Subject: [ntdev] RE: SWENUM.SYS (PnP software device enumerator)
>Date: Tue, 19 Dec 2000 14:24:33 -0800
>
>Yes you can use this to enumerate virtual devices of any class, but there
>are numerous other problems such as not being able to disable/enable,
>uninstall or reinstall these devices. To uninstall you have to manually go
>and delete the registry entries of all the registered interfaces.
>Otherwise,
>it will get reenumerated if somebody opens the interface again. If there is
>no open handle to the device, you can’t see them in the device manager
>unless you set the magic DEVMGR_SHOW_NONPRESENT_DEVICES variable.
>
>I like the SWENUM concept - loads the driver only when somebody opens the
>interface registered for the device - but as it stands now, it’s not
>feature
>complete for other device classes. It’s more device interface centric. We
>are making some changes to the SWENUM interface to be more generic Software
>driver enumerator on future oses.
>
>I wrote a sample driver looong time ago to explore this concept and then
>decided not to include in the DDK for lack of documentation and above
>mentioned reasons. If anybody wants to JUST PLAY around with it to
>understand how this works, send me a note. I can give you the source. It’s
>cool. Just 15 lines of code and your software device is ready to pnp.
>
>-Eliyas
>
>
>-----Original Message-----
>From: Axel Heider
>Sent: Mon 12/18/2000 5:26 AM
>To: NT Developers Interest List
>Cc:
>Subject: [ntdev] SWENUM.SYS (PnP software device enumerator)
>
>
>
>Hi,
>
>where can I finde more information about SWENUM.SYS?
>Can I use this to enumerate any software device of
>is this specific to an device calss?
>
>At the moment I am about to write a virtual bus driver
>for my virtual devices, so I wonder if I can use this
>driver somehow?
>
>
>regards, Axel
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@microsoft.com
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>
><< winmail.dat >>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com