일부 기능에는 "예약 된 매개 변수"로 인해 NULL로 설정해야하는 매개 변수가 왜 있는지 궁금합니다. 예 :Windows API 예약 된 매개 변수
LONG WINAPI RegQueryValueEx(
__in HKEY hKey,
__in_opt LPCTSTR lpValueName,
__reserved LPDWORD lpReserved,
__out_opt LPDWORD lpType,
__out_opt LPBYTE lpData,
__inout_opt LPDWORD lpcbData
);
왜 lpReserved가 존재하는지 이해할 수 없습니까? 제 말은, 왜 그것을 두었는지를 결정한다면, 직접 생략하는 것이 더 간단하지 않겠는가?
감사합니다. :) (내 영어에 신경 쓰지 마시 .. ..)
좋은 지적. 감사. :) – BlackBear
한 가지 다른 이유가 있습니다. API를 만들 때 lpReserved 필드가 다른 용도로 사용되었지만 시간이 지남에 따라 필드가 불필요하거나 필요하지 않게되었습니다. 기존의 모든 클라이언트를 손상시킬 API 서명을 변경하는 대신 API 소유자는 '예약 됨'필드를 선택하기 만했습니다. –
@Larry : 고마워, 네 말이 맞아. 정확하게 말하면, 나는 이것이 ** 모든 이유 **라고 말하지 않았다. 이 질문에 답변을 추가해 주시겠습니까? – detunized