1*6777b538SAndroid Build Coastguard Worker // Copyright 2011 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker // This file contains utility functions for accessing resources in external 6*6777b538SAndroid Build Coastguard Worker // files (DLLs) or embedded in the executable itself. 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #ifndef BASE_WIN_RESOURCE_UTIL_H_ 9*6777b538SAndroid Build Coastguard Worker #define BASE_WIN_RESOURCE_UTIL_H_ 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker #include <windows.h> 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker #include <stddef.h> 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker #include "base/base_export.h" 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker namespace base { 18*6777b538SAndroid Build Coastguard Worker namespace win { 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Worker // Function for getting a data resource of the specified |resource_type| from 21*6777b538SAndroid Build Coastguard Worker // a dll. Some resources are optional, especially in unit tests, so this 22*6777b538SAndroid Build Coastguard Worker // returns false but doesn't raise an error if the resource can't be loaded. 23*6777b538SAndroid Build Coastguard Worker bool BASE_EXPORT GetResourceFromModule(HMODULE module, 24*6777b538SAndroid Build Coastguard Worker int resource_id, 25*6777b538SAndroid Build Coastguard Worker LPCTSTR resource_type, 26*6777b538SAndroid Build Coastguard Worker void** data, 27*6777b538SAndroid Build Coastguard Worker size_t* length); 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker // Function for getting a data resource (BINDATA) from a dll. Some 30*6777b538SAndroid Build Coastguard Worker // resources are optional, especially in unit tests, so this returns false 31*6777b538SAndroid Build Coastguard Worker // but doesn't raise an error if the resource can't be loaded. 32*6777b538SAndroid Build Coastguard Worker bool BASE_EXPORT GetDataResourceFromModule(HMODULE module, 33*6777b538SAndroid Build Coastguard Worker int resource_id, 34*6777b538SAndroid Build Coastguard Worker void** data, 35*6777b538SAndroid Build Coastguard Worker size_t* length); 36*6777b538SAndroid Build Coastguard Worker 37*6777b538SAndroid Build Coastguard Worker } // namespace win 38*6777b538SAndroid Build Coastguard Worker } // namespace base 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Worker #endif // BASE_WIN_RESOURCE_UTIL_H_ 41