共用方式為


MRxCreate 例程

RDBSS 會呼叫MRxCreate 例程,以要求網路迷你重新導向器建立文件系統物件。

語法

PMRX_CALLDOWN MRxCreate;

NTSTATUS MRxCreate(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

參數

RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求作業的 IRP。

傳回值

MRxCreate 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如下列其中一項:

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES

資源不足,無法完成作業。

STATUS_NETWORK_ACCESS_DENIED

網路存取遭到拒絕。 如果系統要求網路迷你重新導向器在唯讀共用上開啟新檔案,則可以傳回此錯誤。

STATUS_NOT_IMPLEMENTED

未實作所要求的功能,例如遠端開機或遠端頁面檔案。

STATUS_NOT_SUPPORTED

不支援要求的功能,例如擴充屬性。

STATUS_OBJECT_NAME_COLLISION

系統要求網路迷你重新導向器建立已經存在的檔案。

STATUS_OBJECT_NAME_NOT_FOUND

找不到物件名稱。 如果系統要求網路迷你重新導向器開啟不存在的檔案,可以傳回此錯誤。

STATUS_OBJECT_PATH_NOT_FOUND

找不到物件路徑。 如果要求NTFS資料流物件,而且遠端檔案系統不支持數據流,則可以傳回此錯誤。

STATUS_REPARSE

需要重新分析才能處理符號連結。

STATUS_RETRY

應該重試作業。 如果網路迷你重新導向器遇到共用違規或拒絕存取錯誤,則可以傳回此錯誤。

備註

RDBSS 會呼叫 MRxCreate,要求網路迷你重新導向器在網路上開啟文件系統物件。 RDBSS 會發出此呼叫,以回應接收 IRP_MJ_CREATE 要求。

呼叫 MRxCreate 之前,RDBSS 會修改 RxContext 參數所指向之RX_CONTEXT結構中的下列成員:

pRelevantSrvOpen 設定為 SRV_OPEN 結構。

Create.pSrvCall 會設定為 SRV_CALL 結構。

Create.NtCreateParameters 會設定為所要求的NT_CREATE_PARAMETERS。

在網路迷你重新導向器的內容中,檔案物件是指相關聯的檔案控制區塊, (FCB) 和檔案物件擴展名 (FOBX) 結構。 檔案物件與FOBX之間有一對一的對應。 許多檔案物件都會參考相同的FCB,代表遠端伺服器上的單一檔案。 用戶端可以有數個不同的開啟要求, (NtCreateFile 要求) 在相同的FCB上,而且每個要求都會建立新的檔案物件。 RDBSS 和網路迷你重新導向器可以選擇傳送比收到的 NtCreateFile 要求少的 MRxCreate 要求,實際上在數個 FOBX 之間共用SRV_OPEN結構。

如果 MRxCreate 要求是針對檔案覆寫而 傳回 MRxCreate STATUS_SUCCESS,則 RDBSS 會取得分頁 I/O 資源並截斷檔案。 如果快取管理員正在快取檔案,RDBSS 會更新快取管理員剛從伺服器接收的大小。

傳回之前,MRxCreate 必須設定 RxContext 參數所指向之RX_CONTEXT結構的 CurrentIrp-IoStatus.Information> 成員。

規格需求

目標平台

桌面

標頭

Mrx.h (包含 Mrx.h)

另請參閱

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend