Directory Contents Search Print << >>
DaVinci Funktion ipCreateStreamOnHmmio: IStream-Interface für HMMIO-Handle erzeugen
Die Funktion ipCreateStreamOnHmmio erzeugt ein neues Objekt mit IStream Interface, das als Stellvertreter für ein HMMIO Datei-Handle von der Windows API-Funktio mmioOpen verwendet werden kann.
|
HRESULT WINAPI ipCreateStreamOnHmmio( |
||
|
HMMIO hmmio, |
||
|
BOOL owner, |
||
|
DWORD grfMode, |
||
|
IStream **ppstm); |
||
|
hmmio |
HMMIO |
HMMIO-Dateihandle von einem Aufruf der Windows API-Funktio mmioOpen. |
|
owner |
BOOL |
TRUE, wenn das HMMIO-Handle durch Aufruf von mmioClose geschlossen werden soll, wenn das IStream-Objekt geschlossen wird. |
|
grfMode |
DWORD |
STGM_READ wenn das Objekt nur zum Lesen geöffnet wurde, sonst STGM_READWRITE. |
|
ppstm |
IStream ** |
Zeiger auf eine Variable vom Typ IStream *, die einen Zeiger auf das neu erzeugte Objekt erhalten wird. |
|
Rückgabewert |
||
|
Der Rückgabewert ist S_OK (0), wenn kein Fehler auftrat, E_OUTOFMEMORY, wenn das Objekt nicht erzeugt werden konnte. |
||
|
Anmerkungen |
||
|
Diese Funktion unterstützt die Portierung von Anwendungen, die für DaVinci 3 entwickelt wurden. |
||
|
Das neu erzeugte Objekt mit IStream Interface muss durch Aufruf seiner Release()-Methode freigegeben werden. |
||
|
Anwendungsbeispiel |
||
|
Beispiel: Import einer Grafik von einem HMMIO-Stream |
||
|
/* ImportDIBFromHmmio |
||
|
* |
||
|
* Lädt eine DIB aus einem HMMIO-Stream |
||
|
*/ |
||
|
HDIB ImportDIBFromHmmio(HMMIO hmmio) |
||
|
{ |
||
|
char FileName[256]; |
||
|
DAVPARAMS DavParams; |
||
|
HDIB hresult=NULL; |
||
|
FileName[0]=0; |
||
|
memset(&DavParams, 0, sizeof(DavParams)); |
||
|
DavParams.dwStructSize = sizeof(DAVPARAMS); |
||
|
DavParams.dwFlags = IPF_DIB; |
||
|
DavParams.lpszFileName = "dummy.jpg"; |
||
|
DavParams.dwFileType = IPT_JPG; |
||
|
if (!SUCCEEDED(ipCreateStreamOnHmmio(hmmio,FALSE,STGM_READ, |
||
|
&DavParams.stream)) |
||
|
{ |
||
|
return NULL; |
||
|
} |
||
|
if (IPE_OK == ipImportInd(&DavParams)) |
||
|
{ |
||
|
/* Import was successfull... Display new Data */ |
||
|
hresult = DavParams.hDIB; |
||
|
} |
||
|
DavParams.stream->Release(); |
||
|
return hresult; |
||
|
} // ImportDIBFromHmmio |
||