Herunterladen Inhalt Inhalt Diese Seite drucken

Zugriff Auf Die Speicherkarte Über File I/O; Zugriff Auf Die Speicherkarte Über Device I/O Control - Altec High-Speed Copystation Handbuch

Inhaltsverzeichnis
Programm, welches vom Kunden selbst erstellt werden muss, erhält die CID Daten und
den Laufwerksbuchstaben des Laufwerks auf welches die Speicherkarte abgebildet ist,
als Parameter.
Nachdem die Karte als logisches Laufwerk abgebildet ist, hat die externe Applikation
zwei Wege, um mit der SD/MMC Speicherkarte zu kommunizieren.
6.4.3 Zugriff auf die Speicherkarte über File I/O
Die externe Applikation kann die normalen File I/O Aufrufe des Betriebssystems, wie
z.B. fopen() fread() fwrite() nutzen. Mit Hilfe dieser Aufrufe hat die Applikation vollen
Zugriff auf alle Dateien und Unterverzeichnisse, die auf der Speicherkarte vorhanden
sind. Zusätzlich können über das Betriebssystem auch LowLevel Zugriffe auf alle
Bereich des Speichermediums, wie z.B. den Bootsektor, durchgeführt werden.
Beispiel 1
Dieses Beispiel zeigt wie über die Standard File I/O Funktionen auf die SD/MMC Karte
zugegriffen werden kann. In diesem Beispiel wird der Inhalt des CID in eine Textdatei
mit dem Namen CID.BIN auf die Speicherkarte geschrieben.
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main(int argc, char* argv[])
{
char v_drive_letter, filename[256];
FILE *f1;
int retcode=0;
if (argc == 2) {
// Bitte beachten: argv[1] = drive letter und argv[0] = CID
v_drive_letter = argv[1][0];
sprintf(filename,"%c:\\CID.BIN",v_drive_letter);
f1 = fopen(filename,"w+");
fwrite(argv[0],1,strlen(argv[0]),f1);
fclose(f1);
}
else
retcode = 1;
return retcode;
}
Handbuch High-Speed CopyStation 6.2
// get the drive letter from 2nd parameter
// open a file on the Virtual Drive and
// write the CID Data.
// inavlid numer of parameters
28
6.4.4 Zugriff auf die Speicherkarte über Device I/O Control
Der zweite Weg zur Kommunikation mit der Speicherkarte kann für spezielle
Funktionen auf der SD/MMC Karte benutzt werden. Zu diesem Zweck enthält der
Treiber eine Device I/O Control Schnittstelle. Mit Hilfe dieser Schnittstelle kann die
Applikation nahezu jedes SD/MMC Kommando direkt an die SD/MMC Speicherkarte
senden, sei es ein Kommando aus dem Standard SD/MMC Befehlssatz, oder ein kar-
tenhersteller-spezifisches Kommando.
Die Device I/O Control Funktion des Win32 Betriebssystems benötigt einen
Parameterblock wie folgt:
BOOL DeviceIoControl
(HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned,
LPOVERLAPPED lpOverlapped
);
Für weitere Informationen über die Win32 Device I/O Control Funktion schlagen Sie
bitte im Win 32 Programmers Reference Guide nach.
Vom Treiber unterstützte Device I/O Control Codes
Folgende Device I/O Control Codes werden vom Treiber unterstützt:
W32_SD_CMD_MMC_SEND_CMD
Sendet ein Kommando welches im lpInBuffer spezifiziert ist an die SD/MMC Karte. Der
lpInBuffer enthält den sd_cmd_block (siehe unten) und alle Daten die an die Karte
gesendet werden sollen.
Der lpOutBuffer enthält die Karten response. Das CRC Feld welches im sd_cmd_block
enthalten ist, wird vom Treiber automatisch berechnet.
W32_SD_CMD_MMC_GET_RESPONSE
Empfängt die letzte response von der SD/MMC Karte. Der lpInBuffer kann NULL sein.
Der lpOutBuffer enthält die letzte response von der Speicherkarte.
// handle to device
// operation
// input data buffer
// size input data
// output data buffer
// size output data
// byte count
// overlapped information
29
Handbuch High-Speed CopyStation 6.2
Inhaltsverzeichnis
loading

Verwandte Produkte für Altec High-Speed CopyStation

Inhaltsverzeichnis