• Maarten's blog

    Finding "black-listed" Win32 APIs in your DLLs

    • 0 Comments
    When you want to use Win32 or COM APIs in your Windows Store app, there is a subset of APIs you can use. Microsoft recently asked what Win32 API or functionality you as developers are missing from the list. I think this is a great initiative to expand...
  • Maarten's blog

    Debugging with VMWare

    • 0 Comments
    I normally use Windows Virtual PC for demos of Kernel debug scenarios. For a special occasion I needed to use VMWare. There are plenty of articles how to set it up and it is almost identical to Virtual PC. You basically connect over COM1 through a named...
  • Maarten's blog

    ProcExp and XPerf tracing

    • 6 Comments
    I was trying to run some XPerf traces to prepare for a training, when it all of a sudden stopped working. The error I got was this: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7). Weird because I ran the...
  • Maarten's blog

    NX dependency on PAE

    • 0 Comments
    Hardware supported NX is dependent on PAE (Windows Internals chapter 9. Memory). But why would that be? The AMD64 Architecture Programmer's Manual (Volume 2: System Programming) mentions this: No Execute (NX) Bit. Bit 63. This bit is present in the...
  • Maarten's blog

    Install history in Reliability Monitor

    • 0 Comments
    Yesterday I was running into a problem with Visual Studio 2010 and SilverLight 4. I asked for help internally. There was some suspician that this history might have something to do with my problem, but I had installed all kinds of tools on my machine...
  • Maarten's blog

    Debugging Pool Leaks with X-Perf

    • 1 Comments
    The WDK has a tool called poolmon and you can use it to find leaks as is described in the Windows Internals book. You can use the NotMyFault demo app ( here ) to demo it. Instead of PoolMon you can also use WPT and X-Perf. Once installed, you run it...
  • Maarten's blog

    Installing WPT (XPerf) from SDK

    • 2 Comments
    This week I got a couple of requests how to install WPT from the SDK. You need to jump through some hoops. If you bing "download xperf" you get here . In there it says to install from the SDK: · Windows 7 SDK (contains WPT 4.6) WPT 4.1...
  • Maarten's blog

    Getting IAT for all drivers from a Kernel Dump

    • 0 Comments
    For some obscure reasons, I needed the Import Address Table (IAT) of specific modules from a kernel dump. Actually I needed them for all modules from potentially a whole lot of dumps. Getting the IAT for one module is straightforward: Get the address...
  • Maarten's blog

    Who changed my Platform Timer Resolution?

    • 1 Comments
    When you run powercfg /energy from an elevated command line you can get this: Warnings Platform Timer Resolution:Platform Timer Resolution The default platform timer resolution is 15.6ms (15625000ns) and should be used whenever the system...
  • Maarten's blog

    My COM server is gone from Component Services (DCOMCNFG)

    • 2 Comments
    Here’s a problem a partner ran into last month. Suppose you have an ActiveX server (in this case it was a VB6 COM Executable) registered on x64 bit Windows Server 2008 or Vista. You open up Component Services and you find your server under “Component...
  • Maarten's blog

    Disabling a Shim (part II)

    • 0 Comments
    Follow-up from the research on how to disable a per-application shim . When I saw the output from the shim infrastructure in DebugView, I mistakenly assumed that the application was shimmed. It apparently only means that the application is found in the...
  • Maarten's blog

    Logo doc

    • 0 Comments
    When I go to connect and download the Windows 7 Software Logo Requirements v1.7.docx, it downloads a zip file. Unzipping the file gives me a somewhat familiar view. I've seen this before. This looks like a OPC document . Since OPC is XML wrapped...
  • Maarten's blog

    Windows 7 Software Logo Voucher

    • 0 Comments
    For Windows Vista Logo, we used to have vouchers to entice early adaption. An ISV recently asked me for vouchers for Windows 7. Since Windows 7 is a "self-test" there is no need for a voucher. It is virtually free. The only cost might be that an ISV needs...
  • Maarten's blog

    What happened to my Search

    • 0 Comments
    I recently upgraded to Windows 7 RTM. When I hit the Windows key, no search results were being returned. Only standard items from control panel etc. The Windows search service appeared not to be running. When I tried to start the service from services...
  • Maarten's blog

    Performance Impact of /IntegrityCheck

    • 1 Comments
    You can link binaries with /integritycheck. This will tell the loader to check the signature of the binary at load time. Supposedly signing with page hash (/ph) has a substantial impact on load time. Omitting /ph will require the entire binary to be loaded...
  • Maarten's blog

    Disabling a Shim

    • 0 Comments
    The other day I was working on an application that we apparently shimmed. I wanted to know if disabling the shim actually changed the behavior. You can download ACT and go hunt for the executable. (For some interesting reason that fully escapes me...
  • Maarten's blog

    Running Idle tasks before XPerf

    • 0 Comments
    I am working on profiling impacts of software on the performance of the OS. I'm testing on Windows 7 RC 7100 x86. It is predominantly to get a feel for the complexity. I want to know how much effort it would entail to wrap this up into an offering for...
  • Maarten's blog

    Application Verifier Locks 0x201 Active Critical Section

    • 2 Comments
    Suppose you are trying to get your application Vista Certified or OEM Ready. You test your application with Application Verifier and you see this error in the log: " < avrf:logEntry Time =" 2008-10-15 : 14:18:33 " LayerName =" Locks " StopCode =...
  • Maarten's blog

    Debugging and Symbols

    • 3 Comments
    Anytime you want to do anything in a debugger, you need symbols. Best thing you can do is set up an environment variable, so you're done. Here are public Microsoft symbols. Yves has created a little cmd that you can use which I politely copy here since...
  • Maarten's blog

    DllGetClassObject already defined

    • 1 Comments
    When you upgrade your project from VC2005 to VC2008 you might get these errors: mfcs90u.lib(oleexp.obj) : error LNK2005: _DllGetClassObject@12 already defined in d.obj mfcs90u.lib(oleexp.obj) : error LNK2005: _DllCanUnloadNow@0 already defined in d...
  • Maarten's blog

    Application Verifier Logs for a Service

    • 1 Comments
    If you have a service and have told AppVerifier to monitor it, you might wonder where the logs are and how you can see them. (Two separate questions). You can find the logs here " c:\windows\system32\config\systemprofile\appverifierlogs " (or the corresponding...
  • Maarten's blog

    OEM Ready Links

    • 1 Comments
    While I'm trying to find out how to fix the portals, here are some links to documents we frequently use. OEM Ready program: http://msdn.microsoft.com/en-us/windowsvista/cc315067.aspx There is a Manual for the tool, but it is not linked from anywhere...
  • Maarten's blog

    Shared Components

    • 2 Comments
    If you need to install components that are shared between multiple applications, you want them to go to Common Files . I found a decent description in this doc: " Windows Vista Application Development Requirements for User Account Control Compatibility...
  • Maarten's blog

    How Do I know if Windbg I actually took effect?

    • 1 Comments
    So you're ready to test your application with Application Verifier. The OEM Ready and Certified for Windows Vista (CFWV) test documents specify you type Windbg –I from an elevated command prompt. So you add your application to Application Verifier, add...
  • Maarten's blog

    How to Roll Back WinDbg –I

    • 1 Comments
    For OEM Ready tests (and for Certified for Windows Vista) one of the requirements is to set up an interactive debugger. The documentation specifies Windbg since it allows you to do use extensions such as "!analyze –v" which will give you a ton of information...
Page 1 of 2 (41 items) 12