diff options
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp')
| -rw-r--r-- | print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp deleted file mode 100644 index 0f9bf2c3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp +++ /dev/null @@ -1,118 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fsutils.h -// -// -// PURPOSE: Fusion utilities -// - -#include "precomp.h" -#include "globals.h" -#include "fusutils.h" - -#define MAX_LOOP 10 - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -HANDLE GetMyActivationContext() -{ - // Make sure we've created our activation context. - CreateMyActivationContext(); - - // Return the global. - return ghActCtx; -} - - -BOOL CreateMyActivationContext() -{ - if(INVALID_HANDLE_VALUE != ghActCtx) - { - return TRUE; - } - - ghActCtx = CreateActivationContextFromResource(ghInstance, MAKEINTRESOURCE(MANIFEST_RESOURCE)); - - return (INVALID_HANDLE_VALUE != ghActCtx); -} - - - -HANDLE CreateActivationContextFromResource(HMODULE hModule, LPCTSTR pszResourceName) -{ - DWORD dwSize = MAX_PATH; - DWORD dwUsed = 0; - DWORD dwLoop; - PTSTR pszModuleName = NULL; - ACTCTX act; - HANDLE hActCtx = INVALID_HANDLE_VALUE; - - - // Get the name for the module that contains the manifest resource - // to create the Activation Context from. - dwLoop = 0; - do - { - // May need to allocate or re-alloc buffer for module name. - if(NULL != pszModuleName) - { - // Need to re-alloc bigger buffer. - - // First, delete old buffer. - delete[] pszModuleName; - - // Second, increase buffer alloc size. - dwSize <<= 1; - } - pszModuleName = new TCHAR[dwSize]; - if(NULL == pszModuleName) - { - goto Exit; - } - - // Try to get the module name. - dwUsed = GetModuleFileName(hModule, pszModuleName, dwSize); - - // Check to see if it failed. - if(0 == dwUsed) - { - goto Exit; - } - - // If dwUsed is equla to dwSize or larger, - // the buffer passed in wasn't big enough. - } while ( (dwUsed >= dwSize) && (++dwLoop < MAX_LOOP) ); - - // Now let's try to create an activation context - // from manifest resource. - ::ZeroMemory(&act, sizeof(act)); - act.cbSize = sizeof(act); - act.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; - act.lpResourceName = pszResourceName; - act.lpSource = pszModuleName; - - hActCtx = CreateActCtx(&act); - - -Exit: - - // - // Clean up. - // - - if(NULL != pszModuleName) - { - delete[] pszModuleName; - } - - return hActCtx; -} - - |
