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  | 
||