| // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | // This file contains utility functions for accessing resources in external | 
 | // files (DLLs) or embedded in the executable itself. | 
 |  | 
 | #ifndef BASE_WIN_RESOURCE_UTIL_H_ | 
 | #define BASE_WIN_RESOURCE_UTIL_H_ | 
 |  | 
 | #include <windows.h> | 
 | #include <stddef.h> | 
 |  | 
 | #include "base/base_export.h" | 
 |  | 
 | namespace base { | 
 | namespace win { | 
 |  | 
 | // Function for getting a data resource of the specified |resource_type| from | 
 | // a dll.  Some resources are optional, especially in unit tests, so this | 
 | // returns false but doesn't raise an error if the resource can't be loaded. | 
 | bool BASE_EXPORT GetResourceFromModule(HMODULE module, | 
 |                                        int resource_id, | 
 |                                        LPCTSTR resource_type, | 
 |                                        void** data, | 
 |                                        size_t* length); | 
 |  | 
 | // Function for getting a data resource (BINDATA) from a dll.  Some | 
 | // resources are optional, especially in unit tests, so this returns false | 
 | // but doesn't raise an error if the resource can't be loaded. | 
 | bool BASE_EXPORT GetDataResourceFromModule(HMODULE module, | 
 |                                            int resource_id, | 
 |                                            void** data, | 
 |                                            size_t* length); | 
 |  | 
 | }  // namespace win | 
 | }  // namespace base | 
 |  | 
 | #endif  // BASE_WIN_RESOURCE_UTIL_H_ |