davoodrm666_666
چهارشنبه 18 اردیبهشت 1392, 07:02 صبح
با سلام
آقا من می خوام سریال یک حافظه فلش یا مموری کارت رو که به friendlyArm mini2440 وصل شده با C# به دست بیارم میشه لطفا راهنمایی کنید
davoodrm666_666
دوشنبه 06 خرداد 1392, 16:35 عصر
آقا خودم این کد رو پیدا کردم اما چون آشنایی با C ندارم اصلا نمی دونم چطوری اجراش کنم لطفا یکی راهنمایی کنه
#include "windows.h"
#include "Diskio.h"
void RETAILMSG_ASCII(char *Str, DWORD NumChars)
{
DWORD Index;
for( Index = 0; *Str != '\0' && Index < NumChars; Index++ )
{
RETAILMSG( 1, (TEXT("%c"), *Str++));
}
}
BOOL DisplayDiskID( TCHAR *Disk )
{
STORAGE_IDENTIFICATION *StoreID = NULL;
STORAGE_IDENTIFICATION GetSizeStoreID;
DWORD dwSize;
HANDLE hVol;
TCHAR VolumeName[MAX_PATH];
char *ManfID;
char *SerialNumber;
BOOL RetVal = FALSE;
DWORD GLE;
//_stprintf(VolumeName, _T("\\%s\\Vol:"), Disk);
_stprintf(VolumeName, _T("\\%s"), Disk);
hVol = CreateFile( Disk, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if( hVol != INVALID_HANDLE_VALUE )
{
if(DeviceIoControl(hVol, IOCTL_DISK_GET_STORAGEID, (LPVOID)NULL, 0, &GetSizeStoreID, sizeof(STORAGE_IDENTIFICATION), &dwSize, NULL) == FALSE)
{
GLE = GetLastError();
if( GLE == ERROR_INSUFFICIENT_BUFFER )
{
StoreID = (STORAGE_IDENTIFICATION *)malloc( GetSizeStoreID.dwSize );
if(DeviceIoControl(hVol, IOCTL_DISK_GET_STORAGEID, (LPVOID)NULL, 0, StoreID, GetSizeStoreID.dwSize, &dwSize, NULL) != FALSE)
{
if( !(StoreID->dwFlags & MANUFACTUREID_INVALID) )
{
ManfID = (char *)((DWORD)StoreID + StoreID->dwManufactureIDOffset);
RETAILMSG( 1, (TEXT("DisplayDiskID: Manufacture ID ")));
RETAILMSG_ASCII( ManfID, StoreID->dwSerialNumOffset - StoreID->dwManufactureIDOffset);
RETAILMSG( 1, (TEXT("\r\n")));
}
if( !(StoreID->dwFlags & SERIALNUM_INVALID) )
{
SerialNumber = (char *)((DWORD)StoreID + StoreID->dwSerialNumOffset);
RETAILMSG( 1, (TEXT("DisplayDiskID: Serial Number ")));
RETAILMSG_ASCII( SerialNumber, GetSizeStoreID.dwSize - StoreID->dwSerialNumOffset );
RETAILMSG( 1, (TEXT("\r\n")));
}
RetVal = TRUE;
}
else
RETAILMSG( 1, (TEXT("DisplayDiskID: DeviceIoControl failed (%d)\r\n"), GLE));
free(StoreID);
}
else
RETAILMSG( 1, (TEXT("No Disk Identifcation available for %s\r\n"), VolumeName ));
}
else
RETAILMSG( 1, (TEXT("DisplayDiskID: DeviceIoControl succeeded (and shouldn't have)\r\n")));
CloseHandle (hVol);
}
else
RETAILMSG( 1, (TEXT("DisplayDiskID: Failed to open volume (%s)\r\n"), VolumeName ));
return RetVal;
}
saied_hacker
سه شنبه 07 خرداد 1392, 08:34 صبح
اینجا فکر نکنم به جواب برسی بهتره بری توی superuser , stackowerflow و اونجا بپرسی هم حرفه ای ترن هم افراد مختلف و بیشتری میتونن راهنماییت کنن....
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.