RxFinishFcbInitialization 函式 (fcb.h)
RxFinishFcbInitialization 在網路迷你重新導向器成功完成建立作業之後,用來完成 FCB 初始化。
語法
void RxFinishFcbInitialization(
IN OUT PMRX_FCB Fcb,
IN RX_FILE_TYPE FileType,
IN PFCB_INIT_PACKET InitPacket
);
參數
Fcb
要初始化之MRX_FCB結構的指標。
FileType
值,指出FCB所參考之實體的儲存類型。 此參數的可能選項包括下列專案:
價值 | 意義 |
---|---|
RDBSS_NTC_MAILSLOT | 郵件位置。 |
RDBSS_NTC_SPOOLFILE | 印表機多任務緩衝處理檔案。 |
RDBSS_NTC_STORAGE_TYPE_DIRECTORY | 目錄。 |
RDBSS_NTC_STORAGE_TYPE_UNKNOWN | 記憶體類型未知。 |
RDBSS_NTC_STORAGE_TYPE_FILE | 檔案。 |
InitPacket
根據初始化FCB的儲存類型而定,初始化所需的額外數據的指標。 如果沒有提供額外的數據,此參數可能是 NULL 指標。
傳回值
沒有
言論
呼叫 作為IRP_MJ_CREATE的結果時,會先呼叫 RxCreateNetFCB 來建立 FCB。 如果要建立之NET_ROOT的 類型 成員不是NET_ROOT_MAILSLOT,則會呼叫 RxFinishFcbInitialization,以完成 FCB 結構的初始化。
如果 MrxFcb 所指向之MRX_FCB結構的 FcbState 成員沒有FCB_STATE_TIME_AND_SIZE_ALREADY_SET,則如果 InitPacket 為非 NULL,則會從 InitPacket 參數更新下列 FCB 成員:属性、 NumberOfLinks、CreationTime、LastAccessTime、LastWriteTime、LastChangeTime、 ActualAllocationLength、Header.AllocationSize、Header.FileSize和 Header.ValidDataLength。 接著,FCB_STATE_TIME_AND_SIZE_ALREADY_SET選項會在 FCB 結構的 FcbState 成員中設定 。
如果儲存類型是RDBSS_NTC_MAILSLOT,而且 FCB 的 FcbState 成員已設定 FCB_STATE_TIME_AND_SIZE_ALREADY_SET 選項,則會將郵件位置的下列 FCB 結構成員初始化為 0:Attributes、NumberOfLinks、CreationTime.QuadPart、LastAccessTime.QuadPart、 LastWriteTime.QuadPart,LastChangeTime。QuadPart、ActualAllocationLength、Header.AllocationSize.QuadPart、Header.FileSize.QuadPart和 Header.ValidDataLength.QuadPart
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | fcb.h (包括 Mrxfcb.h、Nodetype.h、Fcb.h) |
IRQL | <= APC_LEVEL |