|
PDA에 접근하실려면 RAPI 를 써야 합니다 . MSDN 을 참고하시구요.
제가 전에 썼던 일부를 올립니다 아래 내용 정도(함수명 익숙하시죠 ^^)면 충분하리라 생각합니다.
RAPI.DLL 화일이 필요하므로 구하셔야 하구요. ^^
implib 를 쓰시면 헤더 화일을 뽑으실수 있을겁니다.
HINSTANCE hins;
RAPIINIT ri; // 초기화 구조체
int hs; // 핸들 초기화
void __fastcall TForm1::RapiLibraryInit(void)
{
if( !hins ) FreeLibrary(hins);
hins = LoadLibrary("rapi.dll");
ri.cbSize = sizeof( ri );
if( hins == NULL )
{
MessageError( "Rapi.dll 화일을 확인 하신후 재시도 하십시요." );
return;
}
BcbCeRapiInitEx = ( HRESULT (__stdcall * )(RAPIINIT*) )
GetProcAddress(hins,"CeRapiInitEx");
BcbCeRapiUninit = ( HRESULT ( __stdcall * )() )
GetProcAddress(hins,"CeRapiUninit");
BcbCeFindFirstFile = ( HANDLE ( __stdcall * )(LPCWSTR, LPCE_FIND_DATA) )
GetProcAddress(hins,"CeFindFirstFile");
BcbCeFindAllFiles = ( BOOL ( __stdcall * )(LPCWSTR, DWORD, LPDWORD, LPLPCE_FIND_DATA) )
GetProcAddress(hins,"CeFindAllFiles");
BcbCeRapiFreeBuffer = ( VOID ( __stdcall * )(LPVOID) )
GetProcAddress(hins,"CeRapiFreeBuffer");
BcbCeRapiGetError = ( VOID ( __stdcall * )(void) )
GetProcAddress(hins,"CeRapiGetError");
BcbCeCreateFile = ( HANDLE ( __stdcall * )(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE))
GetProcAddress(hins,"CeCreateFile");
BcbCeReadFile = ( BOOL ( __stdcall * )(HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED))
GetProcAddress(hins,"CeReadFile");
BcbCeWriteFile = ( BOOL ( __stdcall * )(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED))
GetProcAddress(hins,"CeWriteFile");
BcbCeCloseHandle = ( BOOL ( __stdcall * )(HANDLE))
GetProcAddress(hins,"CeCloseHandle");
BcbCeDeleteFile = ( BOOL (__stdcall * )(LPCWSTR))
GetProcAddress(hins,"CeDeleteFile");
BcbCeGetFileSize = ( DWORD (__stdcall * )(HANDLE, LPDWORD))
GetProcAddress(hins,"CeGetFileSize");
}
김태우 님이 쓰신 글 :
: PDA를 ActiveSync로 연결시켜놓고 탐색기를 열면,
: 모바일 장치로 인식되고, 클릭을 하면 파일 리스트가 표시됩니다.
: 파일의 복사, 삭제 등도 일반 드라이브처럼 똑 같이 되죠.
:
:
: 이런 기능을 똑 같이 구현하고 싶은데요.
: PC에서 PDA의 파일리스트를 가져오고 하는 것에 대한
: 내용을 찾을수가 없어서 질문을 올립니다.
: 도무지 실마리를 못 잡겠네요.
: 도움 좀 부탁드립니다.
|