| 11 | cycrow | 1 | //-----------------------------------------------------------------------------
 | 
        
           |  |  | 2 | // File: DXUtil.cpp
 | 
        
           |  |  | 3 | //
 | 
        
           |  |  | 4 | // Desc: Shortcut macros and functions for using DirectX objects
 | 
        
           |  |  | 5 | //
 | 
        
           |  |  | 6 | // Copyright (c) Microsoft Corporation. All rights reserved
 | 
        
           |  |  | 7 | //-----------------------------------------------------------------------------
 | 
        
           |  |  | 8 |   | 
        
           |  |  | 9 | #include <tchar.h>
 | 
        
           |  |  | 10 |   | 
        
           |  |  | 11 | #include "Textures.h"
 | 
        
           |  |  | 12 |   | 
        
           |  |  | 13 | #include <stdarg.h>
 | 
        
           |  |  | 14 |   | 
        
           |  |  | 15 | #include "DXUtil.h"
 | 
        
           |  |  | 16 |   | 
        
           |  |  | 17 |   | 
        
           |  |  | 18 | //-----------------------------------------------------------------------------
 | 
        
           |  |  | 19 | // Name: DXUtil_GetDXSDKMediaPath()
 | 
        
           |  |  | 20 | // Desc: Returns the DirectX SDK media path
 | 
        
           |  |  | 21 | //-----------------------------------------------------------------------------
 | 
        
           |  |  | 22 | const TCHAR* DXUtil_GetDXSDKMediaPath()
 | 
        
           |  |  | 23 | {
 | 
        
           |  |  | 24 |     static TCHAR strNull[2] = {0};
 | 
        
           |  |  | 25 |     static TCHAR strPath[MAX_PATH + 10];
 | 
        
           |  |  | 26 |     HKEY  hKey=0;
 | 
        
           |  |  | 27 |     DWORD type=0, size=MAX_PATH;
 | 
        
           |  |  | 28 |   | 
        
           |  |  | 29 |     strPath[0] = 0;     // Initialize to NULL
 | 
        
           |  |  | 30 |   | 
        
           |  |  | 31 |     // Open the appropriate registry key
 | 
        
           |  |  | 32 |     LONG result = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
 | 
        
           |  |  | 33 |                                 _T("Software\\Microsoft\\DirectX SDK"),
 | 
        
           |  |  | 34 |                                 0, KEY_READ, &hKey );
 | 
        
           |  |  | 35 |     if( ERROR_SUCCESS != result )
 | 
        
           |  |  | 36 |         return strNull;
 | 
        
           |  |  | 37 |   | 
        
           |  |  | 38 |     result = RegQueryValueEx( hKey, _T("DX9D4SDK Samples Path"), NULL,
 | 
        
           |  |  | 39 |                               &type, (BYTE*)strPath, &size );
 | 
        
           |  |  | 40 |   | 
        
           |  |  | 41 |     if( ERROR_SUCCESS != result )
 | 
        
           |  |  | 42 |     {
 | 
        
           |  |  | 43 |         size = MAX_PATH;    // Reset size field
 | 
        
           |  |  | 44 |         result = RegQueryValueEx( hKey, _T("DX81SDK Samples Path"), NULL,
 | 
        
           |  |  | 45 |                                   &type, (BYTE*)strPath, &size );
 | 
        
           |  |  | 46 |   | 
        
           |  |  | 47 |         if( ERROR_SUCCESS != result )
 | 
        
           |  |  | 48 |         {
 | 
        
           |  |  | 49 |             size = MAX_PATH;    // Reset size field
 | 
        
           |  |  | 50 |             result = RegQueryValueEx( hKey, _T("DX8SDK Samples Path"), NULL,
 | 
        
           |  |  | 51 |                                       &type, (BYTE*)strPath, &size );
 | 
        
           |  |  | 52 |   | 
        
           |  |  | 53 |             if( ERROR_SUCCESS != result )
 | 
        
           |  |  | 54 |             {
 | 
        
           |  |  | 55 |                 RegCloseKey( hKey );
 | 
        
           |  |  | 56 |                 return strNull;
 | 
        
           |  |  | 57 |             }
 | 
        
           |  |  | 58 |         }
 | 
        
           |  |  | 59 |     }
 | 
        
           |  |  | 60 |   | 
        
           |  |  | 61 |     RegCloseKey( hKey );
 | 
        
           |  |  | 62 |     lstrcat( strPath, _T("\\Media\\\0") );
 | 
        
           |  |  | 63 |   | 
        
           |  |  | 64 |     return strPath;
 | 
        
           |  |  | 65 | }
 | 
        
           |  |  | 66 |   | 
        
           |  |  | 67 |   |