가끔 인터넷에 Flash Builder가 설치되지 않았다는 오류 메시지가 표시될 수 있습니다. 이 오류의 원인은 다양할 수 있습니다.
승인됨: Fortect
프레젠테이션
저는 최근에 활성 전화 접속 상호 작용을 처리하는 단순한 작은 응용 프로그램에 대해 작업했습니다. 전화 접속 네트워킹은 Windows RAS(원격 액세스 서비스)에서 제공하며 주로 모뎀을 통해 인터넷에 연결하는 데 사용됩니다. 클라이언트가 추가 처리를 위한 일반 핸들이 되도록 활성 전화 접속 연결을 나열해야 할 때 RasEnumConnections
기능을 사용하여 수행했습니다. 불행히도 내 컴파일러 설정에도 불구하고 함수는 Win2k Professional에서 일관되게 632 rasconn
을 나열했는데, 이는 종종 “잘못된 구조 크기”를 의미합니다. CodeProject 페이지뿐만 아니라 인터넷을 검색하면서 우리 중 많은 사람들이 동일한 효과를 알아차렸고 따라서 이제 해결 방법이 없음을 발견했습니다. 이 자료의 목표는 이 성가신 오류를 수정하는 데 큰 도움이 되는 것입니다.
함수가 여전히 수행할 수 없는 이유를 파악하기 위해 이 함수의 내부를 단계별로 살펴보고 작업에서 예상하는 프레임 크기가 매우 다른 RASCONN
(즉, 어셈블리 버전). 그러나 당신을 위해 평면 값은 sizeof (RASCONN)
가 되었습니다. 0x53c 이후 최고의 일치가 고려되었습니다. 이 함수를 사용하여 자신의 RASCONN
구조의 크기로 0x53c를 제안함으로써 노동을 속였습니다. 효과가 있었다! 아래 절차는 전화 접속 연결을 열거하고 종료하는 프로그램입니다.
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다. 트릭은 예를 들어, RasEnumConnections에 대한 MSDN 호출에 따라 작성된 코드는 예를 들어 다음과 같습니다. RasConn.dwSize = cb Sizeof(RASCONN); 런타임에 항상 ERROR_INVALID_SIZE(632)를 반환합니다. 그래서 나는 구글링했고 Said 코드의 누군가가 말 그대로 이 문제를 해결하고 있습니다. RasConn.dwSize 버전을 0x53c로 변경해야 합니다. 다른 사이트에서는 아마도 0x19c처럼 보일 것이고 나는 그것을 시도했다. 근데 왜 이해가 안되지? 또 다른 MSDN 설명은 버전에 따라 WINVER를 재정의한 다음 다른 Windows 버전에서 작동하도록 다시 컴파일해야 한다는 것입니다. DISTINCT 구현이 발견됨 #if (WINVER> = 0x400) 그런 다음 다른 WINVER, Win2k RasEnumConnections 코드는 전체 크기 0x2B4 및 추가로 0x19c를 처리하기 위해 완성되는 경우가 많으며 다른 모델에서는 632 오류가 발견됩니다. Win2003 RasEnumConnections 교환은 이 4가지 크기를 처리할 수 있으며 오류 632는 위의 4가지 크기를 거의 모두 사용할 수 없는 경우에만 반환됩니다. 생각해보니 다 이해가 되네요. 이 프로그램은 WINVER를 정의하지 않은 VS2003을 사용했습니다. 기본적으로 컴파일러는 0x501, well sizeof (RASCONN) 0x2c0, =로 설정되어 있으며 2k 미만의 프로그램을 실행하고 문제 632의 이점을 얻습니다. 따라서 버전 정보를 사용하지 않으려면 RasConn .dwSize를 0x19c 이후. 장소보다 훨씬 더 많이 사용될 수 있습니다. 승인됨: Fortect
dwSize
를 0x53c 와 동일하게 만드는 것입니다. 대부분의 0x53c는 sizeof (RASCONN)
보다 작으므로 메모리가 손상되지 않습니다.
RASCONN RasConn;
DWORD cb;
DWORD = 0 조인;
= DWORD nRet = RasEnumConnections(& RasConn, & cb, & 연결);
DWORD dwSize;
AVA HRASCONN hrasconn;
기호 szEntryName [RAS_MaxEntryName + 1];
char szDeviceType [RAS_MaxDeviceType + 2];
기호 szDeviceName [RAS_MaxDeviceName + 특정];
number endif
#if (WINVER> = 0x401)
CAR szPhonebook [MAX_PATH]; DWORD DWORD
dwSubEntry;
#endif
#if (WINVER> = 0x500)
GUID guidEntry;
#endif
#if (WINVER> = 0x501)
DWORD dwFlags;
액체 액체;
#endif
;
WINDOWSNT4.0(0x400) 0x19c
0x2A4
windows9x의 크기를 각각의 me WINDOWS2k에 대해 0x2B4
WINDOWSxp / 2003 0x2C0