FindFirstStreamTransactedW 함수(winbase.h)
[Microsoft는 개발자가 애플리케이션의 요구 사항을 달성하기 위해 대체 수단을 활용하는 것이 좋습니다. TxF가 개발된 많은 시나리오는 더 간단하고 쉽게 사용할 수 있는 기술을 통해 달성할 수 있습니다. 또한 이후 버전의 Microsoft Windows에서는 TxF를 사용하지 못할 수도 있습니다. TxF에 대한 자세한 내용과 대안은 트랜잭션 NTFS 사용에 대한 대안을 참조하세요.]
트랜잭션 작업으로 지정된 파일 또는 디렉터리의 첫 번째 스트림을 열거합니다.
구문
HANDLE FindFirstStreamTransactedW(
[in] LPCWSTR lpFileName,
[in] STREAM_INFO_LEVELS InfoLevel,
[out] LPVOID lpFindStreamData,
DWORD dwFlags,
[in] HANDLE hTransaction
);
매개 변수
[in] lpFileName
정규화된 파일 이름입니다.
파일은 로컬 컴퓨터에 있어야 합니다. 그렇지 않으면 함수가 실패하고 마지막 오류 코드가 ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE (6805)로 설정됩니다.
[in] InfoLevel
반환된 데이터의 정보 수준입니다. 이 매개 변수는 STREAM_INFO_LEVELS 열거형 형식의 값 중 하나입니다.
값 | 의미 |
---|---|
|
데이터는 WIN32_FIND_STREAM_DATA 구조로 반환됩니다. |
[out] lpFindStreamData
파일 데이터를 수신하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 InfoLevel 매개 변수의 값에 따라 달라집니다.
dwFlags
다음에 사용하도록 예약됩니다. 이 매개 변수는 0이어야 합니다.
[in] hTransaction
트랜잭션에 대한 핸들입니다. 이 핸들은 CreateTransaction 함수에서 반환됩니다.
반환 값
함수가 성공하면 반환 값은 FindNextStreamW 함수에 대한 후속 호출에 사용할 수 있는 검색 핸들입니다.
함수가 실패하는 경우 반환 값은 INVALID_HANDLE_VALUE입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
모든 파일에는 기본 데이터 스트림이 포함됩니다. NTFS에서 파일에는 하나 이상의 명명된 데이터 스트림이 포함될 수도 있습니다. FAT 파일 시스템에서 파일에는 기본 데이터 스트림이 더 이상 있을 수 없으므로 FAT 파일 시스템 파일에서 사용할 때 이 함수는 유효한 결과를 반환하지 않습니다. 이 함수는 하드 링크를 지원하는 모든 파일 시스템에서 작동합니다. 그렇지 않으면 함수는 ERROR_STATUS_NOT_IMPLEMENTED (6805)를 반환합니다.
FindFirstStreamTransactedW 함수는 검색 핸들을 열고 지정된 파일 또는 디렉터리의 첫 번째 스트림에 대한 정보를 반환합니다. 파일의 경우 항상 기본 데이터 스트림인 ::$DATA. 검색 핸들이 설정된 후 FindNextStreamW 함수에서 이 핸들을 사용하여 지정된 파일 또는 디렉터리에서 다른 스트림을 검색합니다. 검색 핸들이 더 이상 필요하지 않으면 FindClose 함수를 사용하여 닫아야 합니다.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | No |
SMB 3.0 TFO(투명 장애 조치(failover)) | No |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | No |
CsvFS(클러스터 공유 볼륨 파일 시스템) | No |
ReFS(Resilient File System) | No |
SMB 3.0은 TxF를 지원하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |