монтаж устройств хранения данных с помощью Openstore

Я очень плохо знаком с c ++ и надеялся, что кто-нибудь сможет заполнить пробелы при установке карты памяти. Я пытаюсь смонтировать карту памяти под Windows Mobile. OpenStore может работать, потому что я не получаю сообщение об ошибке, но я все еще пытаюсь выяснить синтаксис для OpenPartition, MountPartition и GetStoreInfo. Если бы кто-то мог дать мне пример, это действительно помогло бы.

Это то, что я до сих пор:

#include "stdafx.h"#include <storemgr.h>
#include <stdio.h>

int _tmain( int /*argc*/, _TCHAR* /*argv*/[] )
{
STOREINFO si = { 0 };
si.cbSize = sizeof( STOREINFO );
HANDLE hDsk;
HANDLE Findpart;
BOOL success = FALSE;
DWORD Count = 600;
WCHAR szDisk[] = L"DSK2:";

hDsk = OpenStore(szDisk);

HANDLE hPartition = OpenPartition(hDsk, TEXT("Part00"));

MountPartition(hPartition);

if(hDsk == INVALID_HANDLE_VALUE)
printf("Error opening store");

if (!GetStoreInfo(hDsk, &si))
printf("Error getting info");

if(!DismountStore(hDsk))
printf("Error Dismounting");

if(!FormatStore(hDsk))
printf("Error Formatting");

CloseHandle(hDsk);
}

0

Решение

здесь выдержка из какого-то проекта быстрого тестирования. Надеюсь, поможет.

   HANDLE hStore, hPartSearch, hPart;
STOREINFO StoreInfo;
PARTINFO PartInfo[3];
DWORD error;
BOOL bRes;

hStore = OpenStore(L"DSK1:");

if (hStore == INVALID_HANDLE_VALUE)
return;

memset (&StoreInfo, 0, sizeof (StoreInfo));
StoreInfo.cbSize = sizeof(STOREINFO);
if (!GetStoreInfo(hStore, &StoreInfo))
{
error = GetLastError();
}

// 1st part
PartInfo[0].cbSize = sizeof(PartInfo[0]);
hPartSearch = FindFirstPartition(hStore, &PartInfo[0]);
// 2nd part
PartInfo[1].cbSize = sizeof(PartInfo[1]);
FindNextPartition(hPartSearch,&PartInfo[1]);// Format and remount boot partition
hPart = OpenPartition(hStore, PartInfo[0].szPartitionName);
bRes = DismountPartition(hPart);
error = GetLastError();
bRes = FormatPartition(hPart);
error = GetLastError();
bRes = MountPartition(hPart);
error = GetLastError();
0

Другие решения

Спасибо тиммф

#include "stdafx.h"#include <storemgr.h>
#include <stdio.h>

int _tmain( int /*argc*/, _TCHAR* /*argv*/[] )
{

STOREINFO si = { 0 };
si.cbSize = sizeof( STOREINFO );HANDLE hStore, hPartSearch, hPart;
STOREINFO StoreInfo;
PARTINFO PartInfo[3];
DWORD error;
BOOL bRes;

hStore = OpenStore(L"DSK2:");

if (hStore == INVALID_HANDLE_VALUE)
{
printf("Error opening store");
}

memset (&StoreInfo, 0, sizeof (StoreInfo));
StoreInfo.cbSize = sizeof(STOREINFO);
if (!GetStoreInfo(hStore, &StoreInfo))
{
error = GetLastError();
}

// 1st part
PartInfo[0].cbSize = sizeof(PartInfo[0]);
hPartSearch = FindFirstPartition(hStore, &PartInfo[0]);
// 2nd part
PartInfo[1].cbSize = sizeof(PartInfo[1]);
FindNextPartition(hPartSearch,&PartInfo[1]);// Format and remount boot partition
hPart = OpenPartition(hStore, PartInfo[0].szPartitionName);
bRes = DismountPartition(hPart);
error = GetLastError();
bRes = FormatPartition(hPart);
error = GetLastError();
bRes = MountPartition(hPart);
error = GetLastError();
}
0

По вопросам рекламы [email protected]