Inside and Out...

An attempt to understand technology better...

  Home  |   Contact  |   Syndication    |   Login
  160 Posts | 0 Stories | 12 Comments | 181 Trackbacks

News


WinToolZone - Spelunking Microsoft Technologies
I work as a developer on the Common Language Runtime (CLR) team, specifically in the areas of exception handling and CLR hosting.
Disclaimer

The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion. All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

Twitter





Tag Cloud


Archives

Post Categories

Image Galleries

Links

API

There are 12 entries for the tag API
Detours is a very interesting library from Microsoft Research that allows you to intercept Windows API calls that an application makes and redirect them to your code that can then: do some pre-and-post processing work around the call to the original API, and/or customize what is returned to the caller of the API This does not involve accessing original application source code and can be done at runtime! For an example, check the screenshot below for a sample that intercepts calls to GetVersionEx...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

[Originally posted on 6th July 2006] WinToolZone.Bluetooth, the managed Bluetooth API for the desktop that I am working on, now has the support for enumerating devices as well. The snippet below exemplifies it: . 1: Bluetooth bth = new Bluetooth(); 2: 3: // EnumRadios(bth); 4: 5: if (bth.RefreshDevices(false, true, true, true, true, null) == false) 6: { 7: Console.WriteLine("Unable to enum devices"); 8: return; 9: } 10: 11: foreach (BluetoothDevice device in bth.Devices) 12: { 13: Console.WriteLine("Devicename:...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

[Originally posted on 5th July 2006] One of the communication protocols not present in .NET Framework class libraries is Bluetooth. So today, I started to work on my implementation of a managed API for Bluetooth programming - WinToolZone.Bluetooth. I am authoring it using Managed C++ and leveraging the Microsoft Bluetooth stack APIs. I just completed implementing the support for enumerating the Bluetooth radios on a machine. Below is a C# program that exemplifies how they can be enumerated: . 1:...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

One of the key new features of Windows Vista is a component called the Kernel Transaction Manager (KTM) that brings inherent support for transactional development in not just the kernel-mode but also for user mode. Infact, NTFS has been enhanced to use and support transactions such that couple of new APIs (e.g. CopyFileTransacted, MoveFileTransacted just to name a few) have surfaced up. You can get more details on Transactional NTFS here. To demonstrate the power of the new APIs, I wrote a C++ class...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

[Original Post Date: 16th August 2005] System.Diagnostics.Process class is a managed wrap over a subset of the ToolHelp API - as it enumerates only the process list. Not only that, it will list all the running processes, irrespective of whether they are running unmanaged code or running managed code. What if you wish to identify which of these processes are running managed code? Unfortunately, neither the ToolHelp API, nor the Process class allow us to identify managed processes from the list they...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

CERapi, the managed implementation for Windows CE Remote API (RAPI) has been updated to work with the file system of the Windows CE device. The CEFile and CEFolder classes have been introduced that make navigating the device easy. You can: Get list of files in specified folder Create/Delete folders Create/Delete/Move files Get folder/file attributes File's folder and its name - property Create shortcut to files Find files as per custom search filter Set file attributes Set filetime Launch files...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Do you want to know which Win32 API maps to what part of the .NET Framework? If yes, visit http://msdn.microsoft.com/n
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Windows CE Remote API (RAPI) is the mechanism via which desktop applications can talk with the Windows CE device over ActiveSync connection. However, since RAPI is not supported natively for managed code development, I have been working on an implementation for managed code, CERapi. You can download CERapi from http://www.wintoolzone.com/... It comes with complete documentation, examples and currently supports: 1) Retrieving device and OS information 2) Retrieving Battery...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

CECallLog managed component for Windows CE/.NET CF now supports getting the emergency number list via the static CEEmergencyNumbers property of the CECallLog type. The documentation discusses the updated API and can be downloaded from http://www.wintoolzone.com/
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

I have updated the CECallLog managed component for Windows CE/.NET CF to support making phone calls. The CECallLog class now supports MakePhoneCall static method to make the phone call, while the CECallLogEntry class supports the Call method, to make the phone call against the number associated with the call log entry. The documentation discusses the updated API with example. They can be downloaded from http://www.wintoolzone.com/...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

As part of the recently concluded Mobile and Embedded DevCon 2004 at Bangalore, from 9th-11th Dec 2004, I delivered a talk on Remote API (RAPI), amongst other things. To demonstrate the tremendous power and capability of Windows CE RAPI (which allows us to managed CE based devices from the desktop), I wrote a Windows CE File Manager - a Windows Explorer like application that can be used to navigate the CE device's file system and move files to/fro the device and your desktop and open them from the...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

The .NET Compact Framework doesn't support a SMS API within itself. However, Windows CE does support the functionality via its SMS.DLL module. Over my Diwali vacations at my home in Chandigarh, I worked upon implementing a managed interface to the SMS API. The result is SMSCF, a .NET Compact Framework based component that can be used by application to send SMS. Download it from the Components section here...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati