MFBeginCreateFile

Begins an asynchronous request to create a byte stream from a file.

Syntax

HRESULT MFBeginCreateFile(
         MF_FILE_ACCESSMODE AccessMode,
         MF_FILE_OPENMODE OpenMode,
         MF_FILE_FLAGS fFlags,
         LPCWSTR pwszFilePath,
         IMFAsyncCallback *pCallback,
         IUnknown *pState,
         IUnknown **ppCancelCookie
)  

Parameters

AccessMode
Type: MF_FILE_ACCESSMODE 

The requested access mode, specified as a member of the MF_FILE_ACCESSMODE enumeration.

OpenMode
Type: MF_FILE_OPENMODE 

The behavior of the function if the file already exists or does not exist, specified as a member of the MF_FILE_OPENMODE enumeration.

fFlags
Type: MF_FILE_FLAGS 

Bitwise OR of values from the MF_FILE_FLAGS enumeration.

pwszFilePath
Type: LPCWSTR 

Pointer to a null-terminated string containing the file name.

pCallback
Type: IMFAsyncCallback *

Pointer to the IMFAsyncCallback interface of a callback object. The caller must implement this interface

pState
Type: IUnknown *

Pointer to the IUnknown interface of a state object, defined by the caller. This parameter can be NULL. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

ppCancelCookie
Type: IUnknown **

[out]

Receives an IUnknown pointer or the value NULL. If the value is not NULL, you can cancel the asynchronous operation by passing this pointer to the MFCancelCreateFile function. The caller must release the interface. This parameter is optional and can be NULL.

Return value

Type: HRESULT 

The function returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return codes
Return code Description
S_OK The function succeeded.

Refer to Media Foundation return codes.

Remarks

When the request is completed, the callback object’s IMFAsyncCallback::Invoke method is called. The callback object should then call the MFEndCreateFile function to get a pointer to the byte stream.

Requirements

Header: Declared in mfapi.h.

Library: Use Mfplat.lib.