MFBeginCreateFile function

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


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


AccessMode [in]

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

OpenMode [in]

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 [in]

Bitwise OR of values from the MF_FILE_FLAGS enumeration.

pwszFilePath [in]

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

pCallback [in]

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

pState [in]

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

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

Return codeDescription

The function succeeded.



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.


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]







See also

Media Foundation Functions