Directory Contents Search << >>
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 |
||