June 2009 Blog Posts

Donavon West has posted example code to put together a pre-execution environment for the WHS Console to allow developers to test their Add-Ins against various Cultures. This means you can test localized versions of an Add-In without having to install a fully localized copy of Windows Home Server.

This is of little use for the casual user as the actual console itself (or at least Microsoft's portion) is still in English, but Add-In developers should find this extremely useful. The reason I wrote the loader was that I needed a way to test my twitter Add-In @WHSTweet as I have it translated into German, French and Spanish.

Brendan Grant at Microsoft has provided an answer to a question we get about WHS Disk Management fairly often: Why are internal SATA disks identified as SCSI?

Short answer: You’re using a 3rd party driver to control the SATA adapter, which reports itself as a “SCSI” controller.

Long answer:

ATA miniports in Windows (until Vista) had no capability to support more than one outstanding request at a time.  This is because ATA devices were originally able to handle only a single request at a time.  Although native command queuing (NCQ -- multiple outstanding requests) was added to Parallel ATA (PATA), the implementations were so ... diverse ... that supporting them was not possible for Microsoft, thus no support added.

Of course, vendors thought that NCQ was the best thing since sliced bread, since it improved performance of the drives.  Therefore, they used another driver model, that of the SCSI miniport driver, to control their hardware.  It provided the ability to have multiple outstanding requests, therefore enabling NCQ.  Due to the different means of reporting device IDs between SCSI and ATA, however, there were some oddities that resulted.  One of these oddities is that the drive is reported as “SCSI”.  Another oddity is that the SCSI INQUIRY data may not fully match the ATA IDENTIFY DATA, since the identifier fields have different fields of different lengths.

So, you have a 3rd party SATA controller driver, and thus see “SCSI” even though it’s really SATA.

Brendan Grant has posted code that extends the MSDN sample for interacting with WHS Notifications to provide alerting functionality in an external application when WHS health status changes.

Unfortunately there is no quick and easy GetHealthState() method within the Windows Home Server SDK, instead the value is determined by going through each outstanding Notification and determining if any exist that are marked as a Warning or Error... and if so we consider the overall state to be same as the most severe, non-suppressed notification.

Over on MSDN there exists a bit of sample code that demonstrates how to do this on demand, though with a few minor tweaks you can turn it into something more asynchronous that will alert you as to when the health has changed

Brendan has also promised that he’ll expand on his example next week.

Nick from ASoft (developer of AutoExit) has done some digging into a few undocumented Windows Home Server storage APIs.

This new article describes the undocumented functions in the QSMMgr class which is located in HomeServerControls.dll.
This class is handy for retrieving all kinds of info about storage (Storage Manager).

The following functions are explained:
long GetAppFoldersSize()
long GetBackupSize()
Disk[] GetDisks()
string GetGlobalStatus()
long GetOperatingSystemSize()
void GetSharedFoldersSize(out long size, out long dupSize)
long GetStorageFreeSpace()
long GetStorageSize()
long GetStorageUsedSpace()
ShareConnection[] GetShareConnections()

It goes without saying that Microsoft won’t support Add-Ins using these functions (as they’re not part of the published API set), but it’s great to see more information about WHS as a development platform getting out into the community.

The last few months we’ve been working towards making Tentacle Software a bit more real. Yesterday it all came together (finally), and we’re an officially registered company (in New Zealand, at least), with two shareholders and a corporate HQ.

This doesn’t mean much for you guys at the moment, but it’s a pretty big milestone for us. It gives us more opportunities to do the thing we love; building kick-ass software for Windows Home Server.

So, long live Tentacle Software Limited!

posted @ Thursday, June 04, 2009 2:43 PM | Feedback (2) | Filed Under [ Site ]


Site Sections

Recent Posts


Post Categories

WHS Add-In Tutorial

WHS Blogs

WHS Development