Changeset 4224 for trunk/src/kernel32/winimgres.cpp
- Timestamp:
- Sep 8, 2000, 8:07:52 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/winimgres.cpp
r4029 r4224 1 /* $Id: winimgres.cpp,v 1.4 5 2000-08-17 18:22:18sandervl Exp $ */1 /* $Id: winimgres.cpp,v 1.46 2000-09-08 18:07:52 sandervl Exp $ */ 2 2 3 3 /* … … 810 810 //****************************************************************************** 811 811 //****************************************************************************** 812 BOOL Win32ImageBase::enumResourceLanguagesA(HMODULE hmod, LPCSTR lpszType, 813 LPCSTR lpszName, 814 ENUMRESLANGPROCA lpEnumFunc, 815 LONG lParam) 816 { 817 PIMAGE_RESOURCE_DIRECTORY pResDirRet; 818 PIMAGE_RESOURCE_DIRECTORY_ENTRY paResDirEntries; 819 BOOL fRet; 820 821 if (pResRootDir == NULL) 822 { 823 SetLastError(ERROR_RESOURCE_DATA_NOT_FOUND); 824 return FALSE; 825 } 826 827 if ((ULONG)lpEnumFunc < 0x10000 || (ULONG)lpEnumFunc >= 0xc0000000) 828 { 829 SetLastError(ERROR_NOACCESS); 830 return FALSE; 831 } 832 833 pResDirRet = getResSubDirA(pResRootDir, lpszType); 834 if(!pResDirRet) { 835 SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND); 836 return FALSE; 837 } 838 pResDirRet = getResSubDirA(pResDirRet, lpszName); 839 if(!pResDirRet) { 840 SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND); 841 return FALSE; 842 } 843 844 paResDirEntries = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResDirRet + sizeof(*pResDirRet)); 845 if(pResDirRet->NumberOfNamedEntries) { 846 DebugInt3(); 847 } 848 paResDirEntries += pResDirRet->NumberOfNamedEntries; 849 850 for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++) 851 { 852 fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam); 853 if(!fRet) 854 break; 855 } 856 return fRet; 857 } 858 //****************************************************************************** 859 //****************************************************************************** 860 BOOL Win32ImageBase::enumResourceLanguagesW(HMODULE hmod, LPCWSTR lpszType, 861 LPCWSTR lpszName, 862 ENUMRESLANGPROCW lpEnumFunc, 863 LONG lParam) 864 { 865 PIMAGE_RESOURCE_DIRECTORY pResDirRet; 866 PIMAGE_RESOURCE_DIRECTORY_ENTRY paResDirEntries; 867 BOOL fRet; 868 869 if (pResRootDir == NULL) 870 { 871 SetLastError(ERROR_RESOURCE_DATA_NOT_FOUND); 872 return FALSE; 873 } 874 875 if ((ULONG)lpEnumFunc < 0x10000 || (ULONG)lpEnumFunc >= 0xc0000000) 876 { 877 SetLastError(ERROR_NOACCESS); 878 return FALSE; 879 } 880 881 pResDirRet = getResSubDirW(pResRootDir, lpszType); 882 if(!pResDirRet) { 883 SetLastError(ERROR_RESOURCE_TYPE_NOT_FOUND); 884 return FALSE; 885 } 886 pResDirRet = getResSubDirW(pResDirRet, lpszName); 887 if(!pResDirRet) { 888 SetLastError(ERROR_RESOURCE_NAME_NOT_FOUND); 889 return FALSE; 890 } 891 892 paResDirEntries = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)((ULONG)pResDirRet + sizeof(*pResDirRet)); 893 if(pResDirRet->NumberOfNamedEntries) { 894 DebugInt3(); 895 } 896 paResDirEntries += pResDirRet->NumberOfNamedEntries; 897 898 for(int i = 0;i < pResDirRet->NumberOfIdEntries;i++) 899 { 900 fRet = lpEnumFunc(hmod, lpszType, lpszName, paResDirEntries[i].u1.Id, lParam); 901 if(!fRet) 902 break; 903 } 904 return fRet; 905 } 906 //****************************************************************************** 907 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.