• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
XenApp Blogs
Product news, tips, and tricks.
Permalink | Twitter Post to Twitter | Comments (0) | Views (1600) |

posted by Sai Allavarpu

What if you could deliver online (published) apps through XenApp 6 times faster to your branch office workers? Or increase XenApp ICA print throughput by 38 times?

Well, now you can accelerate ICA with Branch Repeater and XenApp. Find out the benefits for yourselves by downloading Turbocharge applications to your branch offices CTX122321 whitepaper. 
Please share with us your experiences, results and thoughts.

Sai

Other relevant blogs: http://community.citrix.com/blogs/citrite/saia/

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (1343) |

posted by Sai Allavarpu

Are you a XenApp customer or partner wondering how to further accelerate the delivery of XenApp to branch office workers? And yet not upgrade your WAN bandwidth? And save a ton on OPEX for WAN services? Well, you can now check out the success story about how Neogen used Branch Repeater to:

  • Accelerate XenApp ICA performance by 400 percent at branch offices
  • Reduce IT help desk calls by 15 percent
  • Raise throughput on existing bandwidth by six times
  • Achieve 35 percent savings in operational expenses for WAN services

Happy accelerating!

Sai


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (5) | Views (2785) |

posted by Derek Thorslund

The Support Forum for our HDX MediaStream for Flash trial release recently included a post that raises some interesting concerns about how client-side rendering fits with the server-based computing model. To paraphrase the post:

"Citrix has always been the server-based computing company that wanted everything moved into the datacenter. That includes all code execution. Now, with HDX, some of the code is executed on the endpoint, which means it's not SBC all the way anymore. Moving execution code to the endpoint means you will create application dependencies at some point. It's not only KVM that's sent to the endpoint anymore. My opinion is that SBC should always be client platform independent."

A great impetus for me to shed some light on Citrix's strategy for HDX and multimedia virtualization...

Although the term "server-based computing" is no longer in vogue, there's no denying the tremendous benefits of centralizing the complicated stuff in the data center where it's easier to manage. And strategically, we view server-side rendering of multimedia content (including Flash) as a critical, core capability. This is the foundational technology that covers all the bases. Server-side rendering works whether the content is Flash or Silverlight or Windows Media or QuickTime or whatever. Server-side rendering works regardless of whether the user device (client) has the applicable media player (e.g. Adobe Flash Player) installed on it, or the applicable codec. And it works with all operating systems for which we offer our client or Citrix Receiver online app plug-in. Therefore, we've continued to invest in improving the delivery of server-rendered multimedia content with new codec technology and other technological advances.

But client-side rendering can be used opportunistically to great advantage when it fits. In those cases, offloading media processing to the endpoint reduces the load on the server and helps improve overall server scalability (number of concurrent users), sometimes by as much as an order of magnitude. Eliminating rendering and recompression on the server also generally results in less network bandwidth consumption since the native media format is already highly compressed.

My view is that there's a fine line here. Running a browser plug-in like the Adobe Flash Player on the endpoint may be about as far as many customers would want to go with client-side media processing. Why? As you go farther, you increase the complexity of managing the user device and could lose a key benefit of the virtual desktop model (although client-side virtualization technologies can certainly mitigate that). 

So it all comes back to HDX Adaptive Orchestration, which is the key to our multimedia virtualization strategy. HDX Adaptive Orchestration includes SmartRendering, which intelligently and dynamically evaluates available resources (user device, network, server) and determines whether to stick with the foundational technology of server-side rendering or opportunistically leverage the endpoint device. Administrative policies factor in, too, especially when there are security and management considerations.

With upcoming improvements to frame rate (already 20 fps in XenDesktop 3 FP1) and audio quality (see my video on project Ulysses), server-based multimedia delivery keeps getting better. But even though it can deliver an excellent multimedia user experience, that will always come at the cost of server capacity and network bandwidth. So a multi-dimensional solution that can leverage client-side resources if they're available provides the best of both worlds. 

Derek Thorslund
HDX Product Strategist & Sr. Manager, XenDesktop Product Management

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (3) | Views (2370) |

posted by Bernard Hannon

On June 16, 2009 I wrote about the results of virtualization performance tests with 32-bit XenApp and XenServer 5.5 on a dual quad core Intel Xeon x5570 (Nehalem) host server (http://community.citrix.com/pages/viewpage.action?pageId=73564465). I had mentioned that Intel's Hyperthreading technology on the x5570 produced sufficient logical CPU threads to allow us to build eight 2 vCPU, 3.6Gb XenApp VMs vs. only four on the x7350. It required adding another 16Gb of RAM to the x5570, but in doing so, we now had a single host server density of 554 concurrent users vs. only 188 on the x7350 host. That's three times as many users on a dual quad core system with only 16Gb more RAM. Not a bad trade off.

We recently posted a white paper to the XenServer product section of citrix.com highlighting the details of the test project. You can find it here: http://citrix.com/%2Fsite%2Fresources%2Fdynamic%2Fsalesdocs%2FXenApp_XenServer_Intel_Xeon_x5570_WP_Final.pdf. Here's the key takeaway: Virtualizing XenApp servers on the x7350 host created a 4:1 32 bit XenApp server consolidation opportunity. However, that same server consolidation opportunity was now nearly 12:1 when using the x5570! The graph below illustrates the reusults from the whitepaper. Note, we showed the effects of consolidation on the x5570 both with and without Hyperthreading.

If you are one of the many 32 bit XenApp customers still running your farm on physical servers and want to reduce your footprint in the data center, reduce your server energy consumption and cooling requirements, and take advantage of the many management benefits that virtualization with XenServer 5.5 offers, this might be all the incentive you need to get started.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (1541) |


Okay, I'm the first to admit it's been quite a while since I updated my Facebook status, so I never thought I'd say this ... but I'm tweeting. And yes, I said "tweet"...it only took me about a week to stop saying "twit".

But the good news is that there's a lot to talk say about our relationship with SAP and I'm not doing this alone. Joining me will be the rest of the Citrix/SAP alliance team and together we'll be updating our fellow followers on the latest and greatest happenings within the relationship.

There's some really exciting stuff coming down the road...don't you want to be one of the first to hear (or read) about it? 

Come on! Get in with the in crowd. Follow us on Twitter

Also, don't forget to check out the Citrix Community page for SAP. On this page we've consolidated all related blogs, news, videos, etc... from Citrix, SAP and third-party sites in our feeds section to provide a one-stop-shop for all things on the alliance.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (2) | Views (2461) |

posted by David McGeough

I have come across many queries on the Citrix Forums, Twitter and other web sites discussing the most recent release of Web Interface - 5.1.2. So let me explain what's new in this relesae.

In Web Interface 5.1 we introduced the following features:

Smart Card Support with XenDesktop - XenDesktop users with Windows endpoint devices can use smart cards to authenticate to XenApp Web and XenApp Services sites hosted on Microsoft Internet Information Services.
Virtual Desktop Restart - XenDesktop users can restart virtual desktops running on virtual machines using a control on their XenApp Web sites or through the Desktop Receiver.
Simplified Plugin Detection and Deployment Process - The number of steps in the plugin detection and deployment process is reduced for the most common user scenarios, improving the experience of downloading and deploying an appropriate Citrix plugin.
Discontinued Support for Centrally Configured Sites - All support for centralized configuration, which was deprecated in the previous version of the Web Interface, is removed in the current release.

In Web Interface 5.1.2 the only change is the expanded langague support:

Expanded Language Support - The Web Interface end-user experience is localized for Simplified and Traditional Chinese, and Korean.

To download Web Interface 5.1.2 click here and login using your MyCitrix account.

David
Twitter - http://twitter.com/citrixreadiness
Citrix Support on Facebook - http://www.facebook.com/citrixsupport

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (1669) |


We want to know how you're using Oracle in your Citrix environments. Let us know in the Community Verified area within the Citrix Community page for Oracle.

It's easy to use and takes only seconds of your time. On the right side of this page you'll see the following section:

All you have to do is select the "Vote" button next to the response that most closely represents your Citrix experience. From there you'll see a listing of all of the Oracle apps other community members have posted...paving the way for you to add your input...or if you can't find the app you're looking for, take the road less travelled and submit a new product! Simply identify the Oracle application and Citrix product and you're done!

You should be finished in less than a minute and in the end you'll have shared your experiences with the rest of the Citrix Community. Your input and implementation validation may help other members take a step in the right direction by selecting Citrix solutions to work alongside Oracle apps. Not bad for a minute's work, right?

So what are you waiting for? Enquiring minds want to know. Visit the Citrix Community page for Oracle and share your compatibility knowledge.

...and one more thing, don't forget to follow us on Twitter!

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (2158) |

posted by Juan Rivera

SuperCache is part of the HDX IntelliCache technology stack. SuperCache role is to optimize the delivery of graphics and images when users are moving content up and down.

A typical use case for SuperCache is a user reading a Word document. When the user scrolls down the document, SuperCache is able to detect areas in the document that have just moved up. Instead of resending those graphics to the end point, the end point renders already cached graphics providing a significant bandwidth reduction between the virtual desktop or application and the end point.

SuperCache is crucial to deliver a great user experience over WAN. On LAN scenarios, SuperCache improves the server scalability and user interactivity by reducing the amount of data pushed through the network and processing required on the client.

SuperCache is available in both XenApp and XenDesktop. It is enabled by default and requires no configuration from the administrator.

The following video compares the user experience when SuperCache is on vs. off. To fully appreciate this demo, I recommend you play it in full screen mode:

Follow me on twitter to stay up to date with the latest developments in HDX technologies.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (2) | Views (2180) |

posted by Derek Thorslund

I've noticed more and more inquiries lately about delivering softphones using virtualization technology. XenApp 5 for Windows Server 2008 and XenDesktop 3 Feature Pack 1 introduced audio subsystem enhancements that now enable online softphone delivery with voice-over-ICA using the Bidirectional Audio feature of HDX RealTime. And some softphones, like Cisco IP Communicator, can be delivered to the user device with our offline plug-in. But understandably, not everyone is ready to take the plunge and throw away their telephones! So it is very interesting to hear the comments of customers who are using XenApp or XenDesktop to deliver softphones in "control mode" where the softphone application is used together with a physical telephone set. They're experiencing valuable benefits despite taking a more cautious approach to IP telephony.

Awhile back, I blogged about publishing the Avaya IP Softphone. Yesterday I had a chat with Tom Balthasar of Cellino and Barnes, a law firm in New York State that uses a ShoreTel IP phone system and delivers ShoreTel's Call Manager softphone to over one hundred employees using Citrix technology. Tom provides his users with complete virtual desktops that they can access whether they're in the office or remote. With Call Manager, users find it very convenient to dial from the directory rather than punch in numbers on the keypad. And they get visual access to voice mail and PBX features. When there's a weather emergency, employees can work remotely using Call Manager along with their home telephone or mobile phone. When they make outbound calls with Call Manager, the ShoreTel IP phone system calls them first, and then adds the called party. The Caller ID seen by the person they're calling shows "Cellino and Barnes", transparently maintaining the same service as if they were in the office.

The PBX operators use ShoreWare Operator Call Manager, also delivered as an online application, which gives them advanced call management features and shows them the status of all lines. If an operator is out due to illness or vacation, an operator at another location can easily fill in.

Tom loves the fact that his IT department doesn't need to maintain applications like Call Manager on each user's PC. Everything is centralized in his data center. All his users need is the Citrix online plug-in.

ShoreTel announced Citrix Ready certification of the ShoreWare Call Manager suite in 2008. 

Derek Thorslund
HDX Product Strategist & Sr. Manager, XenDesktop Product Management

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (785) |




 

At the end of June we launched the new SMB partner portal to provide a one-stop shop with everything you need to successfully sell XenApp Fundamentals to small to mid-size customers. I am delighted to say that we have had a tremendous response...  

  More than 600 partners have logged in within the first six weeks, and 75% of those partners have downloaded the new XenApp Fundamentals 3.0 training. Hundreds have also downloaded brochures, whitepapers and demand generation materials.

For those of you who haven't visited the site yet and are looking for comprehensive training tools for XenApp Fundamentals, you will find the new training tools are just what you've been looking for. The two-hour comprehensive training video will walk you through the installation and configuration process step by step.  It can be a great tool for a group training session, which is precisely what Aleks Mednis of APM Systems is doing.  When he learned about this comprehensive training presentation, he was very excited about the opportunity to gather his sales and technical teams together for a lunch-n-learn training session with everyone together.  It's the perfect way to ensure everyone gets trained with a group Q&A afterwards.

If you're looking for training on something specific or you don't have the two hours needed to sit through the full training session then check out the new Tech Bites - four 5 - 15 minute XenApp Fundamentals technical training videos developed specifically to address the technical topics you ask about most, including licensing, security and printing.

You may also want to take the opportunity to attend one of the many live training sessions we'll be hosting with independent consultants on various topics, including how to install XenApp Fundamentals with Microsoft's Small Business Server.  Due to great response we'll be hosting this live webinar again on 10th September.  Also scheduled for 17th September, due to popular request ,  is ' The value of XenApp Fundamentals on Terminal Services', where you'll see examples of how partners have sold XenApp Fundamentals into existing Terminal Services customers to address issues with the remote access environment.

All of this and more is available at [citrix.com/partners/smb|www.citrix.com/partners/smb].  I hope you'll check it out! 

For more information about XenApp Fundamentals click [here.|www.citrix.com/xenappfundamentals]

 Follow us on Twitter @CitrixSMB. 

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (12) | Views (4225) |

posted by Gus Pinto

We've been working hard on the next major release of Citrix Receiver for iPhone, although our team is confident we did a good job implementing the first few releases, we decided to continue innovating. With that been said, our next major release will be focused on a highly improved user experience, and many innovative features!

During an usability study we have acknowledged 20 pixels of "waisted" space within the XenApp session, and 20px in a mobile device is like gold, specially when you only have a 320 x 480 viewable area.

I'm talking about the iPhone Status bar.

This bar indicates, time, carrier, signal strength, wireless mode, battery, bluetooth, etc... The status bar is visible most of the time, except in rare occasion, like when playing full screen movies, pictures, games, etc.

Today I would like to turn to you to help me make a decision on how to regain those 20px back, after all, we are designing this product for you, and getting your input this early is very valuable to us.

The question is pretty simple, we have 3 option, Solid (as is today), Translucent (see thru), Hidden. Which one do you like the most?


Best regards,
Gus pinto
twitter.com/guspinto

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (2003) |


By now, you've probably been hearing or reading a lot about Citrix's relationship with Intel...or at least we're hoping that's the case!

Most of the recent news has been focused on our joint collaboration in the development of Citrix XenClient. XenClient is one of the most exciting projects in Citrix's history and we can't wait to see how the project changes the definition of desktop virtualization. With that said, there are optimization activities currently underway with our Citrix Deliver Center products, such as Citrix XenServer and Citrix XenDesktop that are worth talking about too!

Intel and Citrix have a long history of working together to deliver end-to-end solutions for the enterprise. From how Citrix XenServer works with Intel Xeon processors to how Citrix XenApp and Citrix XenDesktop work alongside Intel vPro technology to our joint development of Citrix XenClient, there is a great story in this partnership.

At Citrix Synergy 2009, Tom James, Business Development Manager, Digital Office Platform Division from Intel presented how solutions and technologies from Intel work with Citrix Delivery Center. For those of you who weren't able to attend Synergy or those who could but didn't have a chance to check out this session, it's available here for your viewing pleasure.

In this webinar you will learn:

  • About recent server consolidation testing conducted in the Citrix Lab with Citrix XenApp, Citrix XenServer and Intel Xeon 5500 Series processors
  • About the upcoming local desktop virtualization platform - XenClient - Citrix is developing in conjunction with Intel and how we see it changing the client landscape moving forward
  • About the other collaboration areas from a technical perspective and how they add customer value

Check out the webinar!

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (583) |

posted by Futoshi Baba

IMO
In the logon process, msgina called WlxSetOption() with WLX_OPTION_SMART_CARD_PRESENT during initializing welcome dialog. It will cause that executes winlogon!SCWorkerThread() will try to connect default reader(\ ?PnP?\Notification) on the server. at the same time, "ScInsert" event will add smart card event queue. then if winlogon has not called winlogon!LogonAttempt() yet, this sas event passed ctxgina!WlxLoggedOutSAS() then msgina called in gina chain will check whether smart card reader driver exists or not. If it does not, user can meet this error even if user will not logon to ica session with smart card.

Debug Log
ChildEBP RetAddr Args to Child
006f9cc 01025cd4 0007e080 00000005 0006fcb0 winlogon!SASRouter (FPO: [Non-Fpo])
006fc38 77eab6e3 00010016 00000659 0000007e winlogon!SASWndProc+0x9c0 (FPO: [Non-Fpo])
006fc64 77eab874 01025314 00010016 00000659 USER32!InternalCallWinProc+0x28
006fcdc 77eaba92 00000000 01025314 00010016 USER32!UserCallWinProcCheckWow+0x151 (FPO: [Non-Fpo])
006fd44 77eabad0 0006fd6c 00000000 0006fd8c USER32!DispatchMessageWorker+0x327 (FPO: [Non-Fpo])
006fd54 77ea61af 0006fd6c 00000000 00000000 USER32!DispatchMessageW+0xf (FPO: [Non-Fpo]) 006fd8c 77e9969d 00010026 00000000 00000010 USER32!DialogBox2+0x15a (FPO: [Non-Fpo])
006fdb4 77e996df 756e0000 757fca7c 00000000 USER32!InternalDialogBox+0xd0 (FPO: [Non-Fpo])
006fdd4 77e99727 756e0000 757fca7c 00000000 USER32!DialogBoxIndirectParamAorW+0x37 (FPO: [Non-Fpo])
006fdf8 0103de0a 756e0000 00000578 00000000 USER32!DialogBoxParamW+0x3f (FPO: [Non-Fpo]) 006fe1c 0102d838 756e0000 00000578 00000000 winlogon!Fusion_DialogBoxParam+0x24 (FPO: [Non-Fpo])
006fe58 0103b6e0 0007e080 756e0000 00000578 winlogon!TimeoutDialogBoxParam+0x28 (FPO: [Non-Fpo])
006fe90 679c3dca 0007e080 756e0000 00000578 winlogon!WlxDialogBoxParam+0x80 (FPO: [Non-Fpo])
006febc 756e39f7 0007e080 756e0000 00000578 ctxgina!ctxginaWlxDialogBoxParam+0xea (FPO: [Non-Fpo]) (CONV: stdcall)
006fee4 01037775 0009e008 7c822f9d 7c802004 MSGINA!WlxDisplaySASNotice+0x45 (FPO: [Non-Fpo])
006ff08 01031b33 0007e080 ffffffff 00000004 winlogon!MainLoop+0x168 (FPO: [Non-Fpo])
006ff50 0103e33b 0007e080 00000000 000724fc winlogon!WUNotify+0x515 (FPO: [Non-Fpo])
006fff4 00000000 7ffde000 000000c8 000001f2 winlogon!__report_gsfailure+0x267 (FPO: [Non-Fpo])

ChildEBP RetAddr Args to Child
006f868 0103516c 0009e008 00000005 00082808 ctxgina!WlxLoggedOutSAS (FPO: [Non-Fpo]) (CONV: stdcall)
006fee4 01037887 0007e080 7c822f9d 7c802004 winlogon!LogonAttempt+0x179 (FPO: [Non-Fpo])

kd> !process 81e0ed88 7
PROCESS 81e0ed88 SessionId: 2 Cid: 067c Peb: 7ffdf000 ParentCid: 017c
DirBase: 0ff6f7e0 ObjectTable: e19db418 HandleCount: 311.
Image: winlogon.exe
VadRoot 81ea8060 Vads 364 Clone 0 Private 921. Modified 4. Locked 0.
DeviceMap e1000178
Token e10bd738
ElapsedTime 00:00:09.774
UserTime 00:00:00.000
KernelTime 00:00:00.234
QuotaPoolUsage[PagedPool] 171436
QuotaPoolUsage[NonPagedPool] 17720
Working Set Sizes (now,min,max) (2814, 50, 345) (11256KB, 200KB, 1380KB)
PeakWorkingSetSize 2814
VirtualSize 91 Mb
PeakVirtualSize 91 Mb
PageFaultCount 3337
MemoryPriority BACKGROUND
BasePriority 13
CommitCharge 1469

THREAD 821b9278 Cid 067c.1134 Teb: 7ffde000 Win32Thread: bc046d10 WAIT: (Unknown) UserMode Non-Alertable
82230140 SynchronizationEvent
Not impersonating
DeviceMap e1000178
Owning Process 81e0ed88 Image: winlogon.exe
Wait Start TickCount 4462460 Ticks: 3 (0:00:00:00.046)
Context Switch Count 1022 LargeStack
UserTime 00:00:00.312
KernelTime 00:00:02.750
Start Address winlogon!__report_gsfailure (0x0103e1b0)
Stack Init f59e3000 Current f59e2c68 Base f59e3000 Limit f59de000 Call 0
Priority 15 BasePriority 15 PriorityDecrement 0
ChildEBP RetAddr Args to Child
f59e2c80 8082ffb7 821b9278 821b9320 0000a100 nt!KiSwapContext+0x25 (FPO: [Uses EBP] [0,0,4])
f59e2c98 808287b4 00000000 bc046d10 00000000 nt!KiSwapThread+0x83 (FPO: [Non-Fpo])
f59e2cdc bf89b1c3 82230140 0000000d 00000001 nt!KeWaitForSingleObject+0x2e0 (FPO: [Non-Fpo])
f59e2d38 bf89e033 000024ff 00000000 00000001 win32k!xxxSleepThread+0x1be (FPO: [Non-Fpo])
f59e2d4c bf89e9f1 000024ff 00000000 0006e084 win32k!xxxRealWaitMessageEx+0x12 (FPO: [Non-Fpo])
f59e2d5c 80883908 0006e0b0 7c9785ec badb0d00 win32k!NtUserWaitMessage+0x14 (FPO: [0,0,0])
f59e2d5c 7c9785ec 0006e0b0 7c9785ec badb0d00 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f59e2d64)
0006e078 77eabf53 77ea610a 00000000 00000000 ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0006e0b0 77e9969d 00020026 00000000 00000001 USER32!NtUserWaitMessage+0xc
0006e0d8 77eaf762 77e90000 0012fa60 00000000 USER32!InternalDialogBox+0xd0 (FPO: [Non-Fpo])
0006e398 77eaf047 0006e4f4 000bb988 0007e080 USER32!SoftModalMessageBox+0x94b (FPO: [Non-Fpo])
0006e4e8 77eaeec9 0006e4f4 00000028 00000000 USER32!MessageBoxWorker+0x2ba (FPO: [Non-Fpo])
0006e540 77eaee65 00000000 000a3b68 000bb988 USER32!MessageBoxTimeoutW+0x7a (FPO: [Non-Fpo])
0006e560 77eaee41 00000000 000a3b68 000bb988 USER32!MessageBoxExW+0x1b (FPO: [Non-Fpo])
0006e57c 0103de71 00000000 000a3b68 000bb988 USER32!MessageBoxW+0x45 (FPO: [Non-Fpo])
0006e59c 0102d7f8 00000000 000a3b68 000bb988 winlogon!Fusion_DialogBoxIndirectParam+0x5b (FPO: [Non-Fpo])
0006e5b8 0103b654 0007e080 00000000 000a3b68 winlogon!TimeoutMessageBoxlpstr+0x28 (FPO: [Non-Fpo])
0006e5dc 679c3715 0007e080 00000000 000a3b68 winlogon!WlxMessageBox+0x52 (FPO: [Non-Fpo])
0006e604 756fddd0 0007e080 00000000 000a3b68 ctxgina!ctxginaWlxMessageBox+0xe5 (FPO: [Non-Fpo]) (CONV: stdcall)
0006e628 756fe20d 00000000 0009e008 000a3b68 MSGINA!TimeoutMessageBoxlpstr+0x3b (FPO: [Non-Fpo])
0006e658 756eff54 00000000 0009e008 00000600 MSGINA!TimeoutMessageBox+0x7f (FPO: [Non-Fpo])
0006ef90 756e4181 0009e008 00000005 00000005 MSGINA!Logon+0xff (FPO: [Non-Fpo])
0006f3f0 679c48c8 0009e008 00000005 00082808 MSGINA!WlxLoggedOutSAS+0xd1 (FPO: [Non-Fpo])
0006f868 0103516c 0009e008 00000005 00082808 ctxgina!WlxLoggedOutSAS+0x118 (FPO: [Non-Fpo]) (CONV: stdcall)
0006fee4 01037887 0007e080 7c822f9d 7c802004 winlogon!LogonAttempt+0x179 (FPO: [Non-Fpo])
0006ff08 01031b33 0007e080 ffffffff 00000004 winlogon!MainLoop+0x1dd (FPO: [Non-Fpo])
0006ff50 0103e33b 0007e080 00000000 000724fc winlogon!WUNotify+0x515 (FPO: [Non-Fpo])
0006fff4 00000000 7ffdf000 000000c8 000001dd winlogon!__report_gsfailure+0x267 (FPO: [Non-Fpo])

~Snips~

THREAD 81992910 Cid 067c.1508 Teb: 7ffa4000 Win32Thread: bc2dfc40 WAIT: (Unknown) UserMode Non-Alertable
82214d20 NotificationEvent
81d9c0d8 NotificationEvent
82157ca8 NotificationEvent
IRP List:
81dcee28: (0006,01d8) Flags: 00000070 Mdl: 00000000
Not impersonating
DeviceMap e1000178
Owning Process 81e0ed88 Image: winlogon.exe
Wait Start TickCount 4461569 Ticks: 894 (0:00:00:13.968)
Context Switch Count 6 LargeStack
UserTime 00:00:00.000
KernelTime 00:00:00.015
Win32 Start Address winlogon!SCWorkerThread (0x0103a047)
Start Address kernel32!BaseThreadStartThunk (0x7c8217ec)
Stack Init f5ceb000 Current f5cea914 Base f5ceb000 Limit f5ce7000 Call 0
Priority 14 BasePriority 13 PriorityDecrement 0
ChildEBP RetAddr Args to Child
f5cea92c 8082ffb7 81992910 ffdff120 00000d01 nt!KiSwapContext+0x25 (FPO: [Uses EBP] [0,0,4])
f5cea944 808282b0 81992910 00000003 00000000 nt!KiSwapThread+0x83 (FPO: [Non-Fpo])
f5cea978 80930d34 00000003 f5ceaaac 00000001 nt!KeWaitForMultipleObjects+0x320 (FPO: [Non-Fpo])
f5ceabf4 80930e96 00000003 f5ceac1c 00000001 nt!ObpWaitForMultipleObjects+0x202 (FPO: [Non-Fpo])
f5cead48 80883908 00000003 0139fdf4 00000001 nt!NtWaitForMultipleObjects+0xc8 (FPO: [Non-Fpo])
f5cead48 7c9785ec 00000003 0139fdf4 00000001 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f5cead64)
0139fda4 7c977cfb 7c82202c 00000003 0139fdf4 ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0139fda8 7c82202c 00000003 0139fdf4 00000001 ntdll!NtWaitForMultipleObjects+0xc (FPO: [5,0,0])
0139fe50 7c822fbe 00000003 0139fe90 00000000 kernel32!WaitForMultipleObjectsEx+0x11a (FPO: [Non-Fpo])
0139fe6c 655457d8 00000003 0139fe90 00000000 kernel32!WaitForMultipleObjects+0x18 (FPO: [Non-Fpo])
0139fea0 6554a9fc 00000404 00310060 000b6610 scardhook!SendSCardIOCTL+0xf8 (FPO: [Non-Fpo]) (CONV: stdcall)
0139ff34 0103a266 cd020001 ffffffff 000a9218 scardhook!SCardHook_SCardGetStatusChangeW+0x42c (FPO: [Non-Fpo]) (CONV: stdcall)
0139ffb8 7c824829 00000000 00000000 00000000 winlogon!SCWorkerThread+0x21f (FPO: [Non-Fpo])
0139ffec 00000000 0103a047 00000000 00000000 kernel32!BaseThreadStart+0x34 (FPO: [Non-Fpo])

kd> !irp 81dcee28 f
Irp is active with 3 stacks 3 is current (= 0x81dceee0) No Mdl: System buffer=8223dbf8: Thread 81992910: Irp stack trace.
Flags = 00000070
ThreadListEntry.Flink = 81992b18
ThreadListEntry.Blink = 81992b18
IoStatus.Status = 00000000
IoStatus.Information = 00000000
RequestorMode = 00000001
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 00e33d80
UserEvent = 82214d20
Overlay.AsynchronousParameters.UserApcRoutine = 00000000 Overlay.AsynchronousParameters.UserApcContext = 00e33d80 Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = f5ffe120 cdm!SCardCancelWaitThread
UserBuffer = 000a4c00
&Tail.Overlay.DeviceQueueEntry = 81dcee68 Tail.Overlay.Thread = 81992910 Tail.Overlay.AuxiliaryBuffer = 00000000 Tail.Overlay.ListEntry.Flink = 00000000 Tail.Overlay.ListEntry.Blink = 00000000 Tail.Overlay.CurrentStackLocation = 81dceee0 Tail.Overlay.OriginalFileObject = 8229a490 Tail.Apc = 00000000 Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
[ 0, 0] 0 0 00000000 00000000 00000000-00000000

Args: 00000000 00000000 00000000 00000000
[ 0, 0] 0 0 00000000 00000000 00000000-00000000

Args: 00000000 00000000 00000000 00000000
>[ e, 0] 5 1 81dcdec0 8229a490 00000000-00000000 pending
\FileSystem\Cdm
Args: 00000400 000000c1 00310060 00000000
kd> !fileobj 8229a490

\SmartCard:\2\PCSC

Device Object: 0x81dcdec0 \FileSystem\Cdm
Vpb is NULL
Access: Read Write SharedRead SharedWrite

Flags: 0x40000
Handle Created

FsContext: 0x81da5d88 FsContext2: 0x81e85f18
CurrentByteOffset: 0
Cache Data:
Section Object Pointers: 81da5e48
Shared Cache Map: 00000000

kd> du 0x01015308
01015308 "\ ?PnP?\Notification"

Related article with this behavior
http://support.microsoft.com/kb/961332/ja

Global Escalation Manager Tokyo
-fb

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (1898) |

posted by Vinny Sosa

XenApp Expert Series - Informational, News, Interviews (2009) The show where we interview the experts to get you the latest research and technology news on XenApp application virtualization. Host Vinny Sosa (@vinnysosa) interviews Citrix Architect Juliano Maldaner (@jmaldaner) on the Power and capacity management features coming in XenApp 5 Feature Pack 2. How it works, why is it important and general technical musings are prevalent in this information packed episode. Episode 5, Season 1.

Listen to this episode

Follow XenApp on | | |

Download XenApp technology previews

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (1) | Views (2331) |

posted by Scott Swanburg

If you are providing IT services to your customers in the form of hosted solutions, growing revenues depends on your ability to market your offering in a very focused way.  It's just not enough to put a data center together, hang a shingle on the street and wait.  That's a recipe for disaster and why should you fail with so much opportunity at hand.  Follow these simple steps and I promise your results will be much more predictable.

Step 1 - Know Thy Product and Value

The question most of your customers will ask is "What would I do if I didn't use this service?"  If there is an alternate solution then customers will usually seek the lowest cost, easiest implementation.  So you must clearly articulate the value of your product and services.  As an example, if you are offering a hosted desktop (using XenApp) with Microsoft Office as the key service offering, then your customer has a choice to load the applications locally and manage them locally or use a hosting service.  A great tag line for this type of implementation might be "Lower total cost of ownership for Microsoft Office by 50% using our hosted desktop solution!"  If your value is lowering cost, state it right up front.  If your value is flexibility, then state it.  Remember that the customer always has other options so you'll want to clearly articulate why your solution is better.

Step 2 - Know Thy Customer

Who is it that you're selling to?  Is it the Small Office Home Office (SOHO)?  Is it the CEO of a 100 employee firm?  Is it specific to a market segment such as Finance, Legal, Manufacturing.  Messaging to the decision maker who owns a manufacturing firm with task workers is much different than messaging to a Law firm.  If the problem you are solving in a manufacturing firm is product line efficiency then you'll want to hit hard on the "up time" of the factory floor because your service offers higher reliability than on-premise solutions.  If on the other hand you are allowing attorneys to better focus on their workloads (vs. focusing on constantly rebooting their local machines) then you should put the highlighter on higher revenues through increased billable hours.  Focus on just a few of these types of customers and then show case examples of how their business will grow as a result of using your service(s).

Step 3 - Know Thy Marketing Approach

The ability to pick the right Content, Collateral and Context will mean the difference between success and failure.  What do you want to say?  What format do you want to say it in and what is the context in which a customer will hear it?  The content should be succinct and to the point.  Don't color your message too much or it just sounds like marketing jargon.  Put it in a form that is most easily understood.  If your customers are more likely to read a trade publication than the Wall Street Journal then call the editor and see if they will do a feature story on your services.  Don't talk in generality if the context calls for specifics.  For instance if you are an ISV who has developed software for the insurance business, don't talk about IT infrastructure savings.  In that case, the context demands you explicitly point out the benefits of using your specific software features to complete tasks or simplify the work.  If you have $10,000 of marketing budget make sure you've got the right mix of message and messaging.  In other words, if you can't measure with certainty the return on your investment (qualified sales leads) from your marketing, DON'T DO IT!  Even awareness can be measured in terms of the Average Sales Price of your service.  If you command a higher price than your competition for similar service types, this can be a measurement of your brand. 

Step 4 - Know Thy Support Plan

If you market your product or services but don't adequately support your customer then your brand will turn on you.  Further, your marketing content will be diminished by your reputation or lack thereof.  A perfect example of this was the Ford Motor Company "Quality is Job One" campaign run in the 70's, 80's and early 90's.  Wildly popular and producing great results at first, over time, the slogan began to wane in street cred as Ford's light trucks began to flip over on the highway. While Consumer Reports was slamming Ford products (such as the Explorer) as being substandard and losing quality to Japanese manufacturers, Ford continued to run advertisements to the contrary. The savvy consumer was not only put off by the ads but began to show distain for the product every time they had to take their car in for repairs while their neighbors had no significant problems with their Japanese equivalents.  Your products/service need to be supported when launched, during use and when upgrades are needed.  Using support tools like GoToAssist will aid you.

Follow this formula, and you'll find that customers will not only understand your value and purchase your product/services, but will also provide word of mouth advertising that is priceless in this business.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (1999) |

posted by Vinny Sosa

XenApp Expert Series - Informational, News, Interviews (2009) The show where we interview the experts to get you the latest research and technology news on XenApp application virtualization. Host Vinny Sosa (@vinnysosa) interviews Citrix Architect Juliano Maldaner (@jmaldaner) on the Power and capacity management features coming in XenApp 5 Feature Pack 2. How it works, why is it important and general technical musings are prevalent in this information packed episode. Episode 5, Season 1.

View this Episode and Subscribe to the XenApp Expert Series

Follow XenApp on | | |

Download XenApp technology previews

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (15) | Views (6236) |

posted by Chris Fleck

The question of VDI use cases, customer awareness, and Desktop Virtualization has been a hot topic lately at Citrix. Harry Labana's blog post did a great job describing the differences in Desktop Virtualization and Server Virtualization. In addition to the positive reviews a few commenter's have also brought up some scenarios we have been considering but have not made available to date. Specifically we have been discussing ways to make HDX more pervasive and useful to IT Pro's and users. HDX has significant benefits and we want the broader industry to try it out and get a taste of XenDesktop.

Many in the community may recall a Citrix project called PortICA which led to a component of XenDesktop providing a direct ICA connection from a Client OS ( XP or Vista ) to any endpoint with the ICA client. Outside of Citrix developers & testers ( and a few others ) who find this very useful, we have not opened up this stand alone capability to the world. If we did make this available, meaning an MSI including the enhanced HDX features that could be installed inside a client OS which could connect directly ( no broker ) to any device with the Citrix Receiver and proper network configuration. The question is what would you use it for ? Would this lead to increased XenDesktop adoption? Some of the XenDesktop product and demo scenarios we have considered or heard are listed below. Please let us know your vote and help describe some new use cases as well.

( Note that this is simply a survey and does not imply what plans we may or may not have )

Also check out Brian Madden's post on the topic and additional commenters views.

http://twitter.com/chrisfleck

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (550) |

posted by Futoshi Baba

I described especially primary stack on ICA.

Global Escalation Manager Tokyo
-fb

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (486) |

posted by Futoshi Baba

Consideration for xps printing through debugging stuff
In client side, MSFT printer provider write printer ticket to stream from DOM. they converts UTF-16 to UTF-8 by calling msxml6!CharEncoder::wideCharToUtf8() at that time, then our xps printer provider read UTF-8 printer ticket through stream. then redirect to Xenapp server.
Server Debug
0:000> kv
ChildEBP RetAddr  Args to Child
001aae14 6d66c2f0 0d338f30 000050ba 0f5fefb8 Cpxpsupdui!CPTXmlDom::LoadXMLInToDom (FPO: [Non-Fpo])(CONV: stdcall)
001aae54 6e169b0c 08c96fe0 00003c98 0e206368 Cpxpsupdui!CUpdPTProvider::ConvertDevModeToPrintTicket+0x220 (FPO: [Non-Fpo]) (CONV: stdcall)
001aaeb0 6e168319 0fecafc0 00003c98 0e206368 prntvpt!PTConvertDevModeToPrintTicketImp+0xed (FPO: [5,14,4])
001aaed4 6e1688b4 0fec8fe8 00003c98 0e206368 prntvpt!CPrintTicketServerBase::ConvertDevModeToPrintTicket+0x23 (FPO: [5,1,4])
001aaef0 72945d33 0feccfe8 00003c98 0e206368 prntvpt!PTConvertDevModeToPrintTicket+0x34 (FPO: [5,0,0])
001aaf1c 6c4b3efc 0feccfe8 00003c98 0e206368 vfprint!VfPTConvertDevModeToPrintTicket+0x98 (FPO: [Non-Fpo]) (CONV: stdcall)
001ac434 6c49b7f4 001aca04 001aca00 001ac9fc mxdwdrv!edocs::CPrintTicketInfo::GetXmlPrintTicket+0x1e6 (FPO: [4,1342,4])
001aca2c 6c49f022 26084737 001ae2d0 001ad288 mxdwdrv!edocs::CXamlDocument::EmitDocumentSequencePrintTicketToPackage+0x34f (FPO: [0,374,0])
001ad4c8 6c46d628 260846db 001ae2d0 001aeb98 mxdwdrv!edocs::CXamlDocument::PageEnd+0x244 (FPO: [0,675,0])
001ad524 6c46e1f6 0d9b0000 26087107 00000000 mxdwdrv!DrvSendPage+0xbf (FPO: [1,17,0])
001ae2f8 757f10a7 0d9b0000 0d9b0034 001aec60 mxdwdrv!DrvNextBand+0x595 (FPO: [2,878,0])
001ae330 76b2b1e5 001aeb98 001ae348 00000004 GDI32!GdiPrinterThunk+0x753 (FPO: [3,7,0])
001aeb80 76e599ce 001aeb98 0000001c 001af4f8 USER32!__ClientPrinterThunk+0x28 (FPO: [1,526,4])
001aebb0 758241b9 75815a82 f9210388 00000000 ntdll!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])
001aebb4 75815a82 f9210388 00000000 001aec60 GDI32!NtGdiDoBanding+0xc (FPO: [4,0,0])
001aebe0 75815f90 f9210388 001aec60 0cbeef18 GDI32!NextBand+0x1d (FPO: [2,2,4])
001aec70 7581610c 00000001 0000000a 001aec98 GDI32!MFP_InternalEndPage+0x20c (FPO: [2,29,4])
001aec80 758049e1 f9210388 00000001 00000014 GDI32!MFP_EndPage+0xf (FPO: [1,0,0])
001aec98 757ff182 f9210388 00000001 001af088 GDI32!InternalEndPage+0x6e (FPO: [2,0,4])
001aeca8 001c84c8 f9210388 00000000 76b0e563 GDI32!EndPage+0xf (FPO: [1,0,0])
Client Debug
0:000> kv
ChildEBP RetAddr  Args to Child
0018f318 7076b919 1aef87b8 0000fde9 1aef87e6 msxml6!CharEncoder::wideCharToUtf8+0x2 (FPO: [6,5,0])
0018f348 7076a79e 0000054f 00000fef 000007ee msxml6!EncodingWriter::WriteString+0x69 (FPO: [3,1,4])
0018f364 70777c13 085c2520 1aef8780 0018f388 msxml6!OutputHelper::_hardWrite+0x69 (FPO: [0,0,4])
0018f374 70767207 085c2530 0000000c 06cfc600 msxml6!OutputHelper::_write+0x34 (FPO: [2,0,0])
0018f388 70767944 085c2530 0000000c 06cfc600 msxml6!XMLOutputHelper::beginElement+0x2c (FPO: [2,0,4])
0018f3ac 707679da 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x12a (FPO: [3,2,4])
0018f3d4 707679da 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x21b (FPO: [3,2,4])
0018f3fc 70767d4a 1af5ded8 1aef8780 12418fb8 msxml6!Node::_save+0x21b (FPO: [3,2,4])
0018f438 707e9e54 1af5ded8 1aef8780 12418fb8 msxml6!Node::save+0x42 (FPO: [SEH])
0018f44c 707ea27b 1aef8780 de6353cb 1af5ded8 msxml6!Document::save+0x28 (FPO: [1,0,0])
0018f484 707ea041 17140fe0 00000000 de63538f msxml6!Document::save+0x2d (FPO: [SEH])
0018f4c0 707ef7ad 06deab8b 17140fe0 00000000 msxml6!Document::Save+0x5b (FPO: [SEH])
0018f52c 713b6440 17140fe0 0000000d 0018f57c msxml6!DOMDocumentWrapper::save+0xec (FPO: [SEH])
0018f564 713b832b 23fd0fb8 17140fe0 00003c3c prntvpt!DOMDocumentToIStream+0x47 (FPO: [2,4,4])
0018f57c 713b88b4 1147afe8 00003c3c 060d33c2 prntvpt!CPrintTicketServerBase::ConvertDevModeToPrintTicket+0x35 (FPO: [5,1,4])
0018f598 719314b3 1990cfe8 00003c3c 060d33c2 prntvpt!PTConvertDevModeToPrintTicket+0x34 (FPO: [5,0,0])
0018f5cc 7193ad06 00000000 00003c3c 060d33c2 VDSPL30N!CpmXpsPrinterConvertDMToPT+0x73 (FPO: [6,3,0]) (CONV: stdcall)
0018f5f8 7193bb6c 05898fe0 060d33b8 719480a8 VDSPL30N!MhHandleXPSCnvDMPT+0x66 (FPO: [2,3,4]) (CONV: stdcall)
0018f620 71938800 05549c79 00000c50 05898fe0 VDSPL30N!MhMain+0x11c (FPO: [4,3,0]) (CONV: stdcall)
0018f640 719394d3 05549c79 06104cb8 002c1766 VDSPL30N!CpmWireDataReceive+0xa0 (FPO: [1,0,4]) (CONV: stdcall)

As a result of my debugging, it is really interesting.

Global Escalation Manager in Tokyo
-fb


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (484) |

posted by Futoshi Baba

Debugging Scenario

  1. WinScard!ScardConnect() to Card1
  2. WinScard!SCardConnect() to Card2
  3. WinScard!SCardBeginTransaction() to Card2
  4. WinScard!SCardTransmit() to Card2
  5. WinScard!SCardDisconnect() to Card1 then Irp will be pending.
  6. Remove Card1 from PC then Irp is completed due to deliver interrupt KAPC.

Debug Log
kd> !process 81706020 7
PROCESS 81706020 SessionId: 0 Cid: 06a4 Peb: 7ffde000 ParentCid: 0470
DirBase: 07fa0220 ObjectTable: e1973208 HandleCount: 55.
Image: SC2Con.exe
VadRoot 816b65b8 Vads 51 Clone 0 Private 104. Modified 0. Locked 0.
DeviceMap e1d5f890
Token e104d518
ElapsedTime 00:00:16.687
UserTime 00:00:00.015
KernelTime 00:00:00.046
QuotaPoolUsage[PagedPool] 35556
QuotaPoolUsage[NonPagedPool] 2040
Working Set Sizes (now,min,max) (569, 50, 345) (2276KB, 200KB, 1380KB)
PeakWorkingSetSize 569
VirtualSize 17 Mb
PeakVirtualSize 17 Mb
PageFaultCount 567
MemoryPriority BACKGROUND
BasePriority 8
CommitCharge 157

THREAD 8170c020 Cid 06a4.0874 Teb: 7ffdd000 Win32Thread: e20e9050 WAIT: (Executive) UserMode Non-Alertable
81982904 NotificationEvent
IRP List:
815de640: (0006,0094) Flags: 00000900 Mdl: 00000000
Not impersonating
DeviceMap e1d5f890
Owning Process 81706020 Image: SC2Con.exe
Attached Process N/A Image: N/A
Wait Start TickCount 54475 Ticks: 1057 (0:00:00:16.515)
Context Switch Count 89 LargeStack
UserTime 00:00:00.000
KernelTime 00:00:00.046
Win32 Start Address SC2Con (0x0040138b)
Start Address kernel32!BaseProcessStartThunk (0x7c8106f5)
Stack Init f751c000 Current f751bc1c Base f751c000 Limit f7517000 Call 0
Priority 11 BasePriority 8 PriorityDecrement 2 DecrementCount 16
ChildEBP RetAddr Args to Child
f751bc34 80502ce6 8170c090 8170c020 804fbd72 nt!KiSwapContext+0x2e (FPO: [Uses EBP
] [0,0,4])
f751bc40 804fbd72 00000103 00000000 815de640 nt!KiSwapThread+0x46 (FPO: [0,0,0])
f751bc68 80576e56 00000001 00000000 817cb701 nt!KeWaitForSingleObject+0x1c2 (FPO: [5,5,4])
f751bc90 80573daa 817cb770 00000103 819828a8 nt!IopSynchronousServiceTail+0xe8 (FPO: [7,0,4])
f751bd38 8053f648 000000c8 000000cc 00000000 nt!NtReadFile+0x580 (FPO: [Non-Fpo])
f751bd38 7c94e4f4 000000c8 000000cc 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f751bd64)
0012f934 7c94d9bc 7c80199d 000000c8 000000cc ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0012f938 7c80199d 000000c8 000000cc 00000000 ntdll!ZwReadFile+0xc (FPO: [9,0,0])
0012f9a0 7235050f 000000c8 0012f9f0 00000008 kernel32!ReadFile+0x10d (FPO: [Non-Fpo])
0012f9d8 7235029f 0012f9f0 00000000 00383de8 WinSCard!CComChannel::Receive+0x2c (FPO: [2,4,4])
0012f9f8 7234c322 00383e38 00000000 00383de8 WinSCard!CComObject::Receive+0x25 (FPO: [1,2,0])
0012fa64 72346351 00000000 00000000 00000a28 WinSCard!CReaderContext::Disconnect+0x80 (FPO: [1,21,0])
0012faac 004011c8 ea010000 00000000 7ffde000 WinSCard!SCardDisconnect+0x57 (FPO: [2,12,0])
WARNING: Stack unwind information not available. Following frames may be wrong.
0012ffc0 7c817067 00380035 00370034 7ffde000 SC2Con+0x11c8
0012fff0 00000000 0040138b 00000000 78746341 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])

kd> !irp 815de640 f
Irp is active with 1 stacks 1 is current (= 0x815de6b0)
No Mdl: No System Buffer: Thread 8170c020: Irp stack trace.
Flags = 00000900
ThreadListEntry.Flink = 8170c230
ThreadListEntry.Blink = 8170c230
IoStatus.Status = 00000000
IoStatus.Information = 00000000
RequestorMode = 00000001
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 00383e50
UserEvent = 818246c8
Overlay.AsynchronousParameters.UserApcRoutine = 00000000
Overlay.AsynchronousParameters.UserApcContext = 00383e50
Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = f9cbc368 Npfs!NpCancelDataQueueIrp
UserBuffer = 0012f9f0
&Tail.Overlay.DeviceQueueEntry = 815de680
Tail.Overlay.Thread = 8170c020
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = 00000000
Tail.Overlay.ListEntry.Blink = 00000000
Tail.Overlay.CurrentStackLocation = 815de6b0
Tail.Overlay.OriginalFileObject = 819828a8
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
>[ 3, 0] 0 1 817cb770 819828a8 00000000-00000000 pending
\FileSystem\Npfs
Args: 00000008 00000000 00000000 00000000

kd> dt _FILE_OBJECT 819828a8
ntdll!_FILE_OBJECT
+0x000 Type : 5
+0x002 Size : 112
+0x004 DeviceObject : 0x817cb770 _DEVICE_OBJECT
+0x008 Vpb : (null)
+0x00c FsContext : 0xe1d87490
+0x010 FsContext2 : 0x816b7458
+0x014 SectionObjectPointer : (null)
+0x018 PrivateCacheMap : 0x00000001
+0x01c FinalStatus : 0
+0x020 RelatedFileObject : (null)
+0x024 LockOperation : 0 ''
+0x025 DeletePending : 0 ''
+0x026 ReadAccess : 0 ''
+0x027 WriteAccess : 0 ''
+0x028 DeleteAccess : 0 ''
+0x029 SharedRead : 0 ''
+0x02a SharedWrite : 0 ''
+0x02b SharedDelete : 0 ''
+0x02c Flags : 0x40082
0x030 FileName : _UNICODE_STRING +"\Microsoft Smart Card Resource Manager0"
+0x038 CurrentByteOffset : _LARGE_INTEGER 0x0
+0x040 Waiters : 0
+0x044 Busy : 1
+0x048 LastLock : (null)
+0x04c Lock : _KEVENT
+0x05c Event : _KEVENT
+0x06c CompletionContext : (null)

kd> dc 819828a8+4c
819828f4 00040001 00000000 819828fc 819828fc .........(...(..
81982904 00040000 00000000 8170c090 8170c090 ..........p...p.
81982914 00000000 0a060013 ee657645 00000003 ........Eve.....
81982924 00000001 819c3980 00000000 8055c280 .....9........U.
81982934 00000000 00040001 00000000 817303d0 ..............s.
81982944 817303d0 0a060006 ee657645 00000001 ..s.....Eve.....
81982954 00000001 819c3980 00000000 8055c280 .....9........U.
81982964 00000000 81047001 00000000 81982970 .....p......p)..
kd> dc 819828a8+5c
81982904 00040000 00000000 8170c090 8170c090 ..........p...p.
81982914 00000000 0a060013 ee657645 00000003 ........Eve.....
81982924 00000001 819c3980 00000000 8055c280 .....9........U.
81982934 00000000 00040001 00000000 817303d0 ..............s.
81982944 817303d0 0a060006 ee657645 00000001 ..s.....Eve.....
81982954 00000001 819c3980 00000000 8055c280 .....9........U.
81982964 00000000 81047001 00000000 81982970 .....p......p)..
81982974 81982970 0a050006 6e66744e 001c0707 p)......Ntfn....

kd> dt _KEVENT 81982904 /r
ntdll!_KEVENT
+0x000 Header : _DISPATCHER_HEADER
+0x000 Type : 0 ''
+0x001 Absolute : 0 ''
+0x002 Size : 0x4 ''
+0x003 Inserted : 0 ''
+0x004 SignalState : 0
+0x008 WaitListHead : _LIST_ENTRY [ 0x8170c090 - 0x8170c090 ]
+0x000 Flink : 0x8170c090 _LIST_ENTRY [ 0x8198290c - 0x8198290c ]
+0x004 Blink : 0x8170c090 _LIST_ENTRY [ 0x8198290c - 0x8198290c ]

kd> ba w4 81982904 + 4

kd> g
Breakpoint 1 hit
nt!KeSetEvent+0x26:
804fafe2 eb30 jmp nt!KeSetEvent+0x58 (804fb014)

kd> kv100
ChildEBP RetAddr Args to Child
f751bb80 804f5d42 81982904 00000000 00000000 nt!KeSetEvent+0x26 (FPO: [3,0,4])
f751bbd8 804ffaf1 815de680 f751bc24 f751bc18 nt!IopCompleteRequest+0x25e (FPO: [Non-Fpo])
f751bc28 80502d04 00000000 00000000 00000000 nt!KiDeliverApc+0xb3 (FPO: [3,10,0])
f751bc40 804fbd72 00000103 00000000 815de640 nt!KiSwapThread+0x64 (FPO: [0,0,0])
f751bc68 80576e56 00000001 00000000 817cb701 nt!KeWaitForSingleObject+0x1c2 (FPO: [5,5,4])
f751bc90 80573daa 817cb770 00000103 819828a8 nt!IopSynchronousServiceTail+0xe8 (FPO: [7,0,4])
f751bd38 8053f648 000000c8 000000cc 00000000 nt!NtReadFile+0x580 (FPO: [Non-Fpo])
f751bd38 7c94e4f4 000000c8 000000cc 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f751bd64)
0012f934 7c94d9bc 7c80199d 000000c8 000000cc ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0012f938 7c80199d 000000c8 000000cc 00000000 ntdll!ZwReadFile+0xc (FPO: [9,0,0])
0012f9a0 7235050f 000000c8 0012f9f0 00000008 kernel32!ReadFile+0x10d (FPO: [Non-Fpo])
0012f9d8 7235029f 0012f9f0 00000000 00383de8 WinSCard!CComChannel::Receive+0x2c (FPO: [2,4,4])
0012f9f8 7234c322 00383e38 00000000 00383de8 WinSCard!CComObject::Receive+0x25 (FPO: [1,2,0])
0012fa64 72346351 00000000 00000000 00000a28 WinSCard!CReaderContext::Disconnect+0x80 (FPO: [1,21,0])
0012faac 004011c8 ea010000 00000000 7ffde000 WinSCard!SCardDisconnect+0x57 (FPO: [2,12,0])
WARNING: Stack unwind information not available. Following frames may be wrong.
0012ffc0 7c817067 00380035 00370034 7ffde000 SC2Con+0x11c8
0012fff0 00000000 0040138b 00000000 78746341 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])

Global Escalation Manager Tokyo
-fb

Expand Blog Post

<< Prev   3     4     5     6     7   8   9     10     11     12     13   Next >>