2013-06-04 2 views
0

HKEY 배열을 효과적으로 초기화하는 방법은 무엇입니까?정확히 HKEY 배열 초기화

다음 코드 제가 전달 매개 변수에 기초하여 배열을 채울

HKEY hkey[2]; 

for(int i = 0 ; i < 2 ; i++) 

LONG reval = RegOpenKeyEx(/* parameters */,&hkey[i]); 

RegOpenKeyEx()

니펫 고려한다. 그러나 HKEY 배열을 초기화하는 가장 좋은 방법은 무엇입니까? 같은 것에 관한 msdn 문서를 찾을 수 없습니다.

do enough to do HKEY hkey[2] = {0 }; ????

+2

그냥 {}은 NULL을 얻을만큼 좋습니다. –

답변

2

배열을 초기화 할 필요가 없습니다. RegOpenKeyEx에 값을 설정하도록 할 수 있습니다. RegOpenKeyEx에 전화하기 전에 무엇이든 할당 할 필요가 없습니다. 설명서에는 HKEY 매개 변수에 의미가 없으므로 입력시 값이 사용되지 않는다고 나와 있습니다.

그러나 오류 검사를 수행하여 함수가 실패했음을 감지하고 초기화되지 않은 값을 사용하지 않도록해야합니다.

는 그것은 당신이 RegOpenKeyEx를 호출하기 전에

HKEY hkey[2] = { NULL, NULL }; 

을 할 해치지 않을 것입니다. 그러나 RegOpenKeyEx에 대한 호출에서 적절한 오류 검사를 수행하면 함수가 성공적으로 완료되고 HKEY 매개 변수에 할당 할 수 없습니다.