ThreadPoolBoundHandle.AllocateNativeOverlapped 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
NativeOverlapped 구조체에 관리되지 않는 포인터를 반환합니다.
오버로드
AllocateNativeOverlapped(PreAllocatedOverlapped) |
지정한 PreAllocatedOverlapped 개체와 연결된 콜백 상태 및 버퍼를 사용하여 NativeOverlapped 구조체에 대한 관리되지 않는 포인터를 반환합니다. |
AllocateNativeOverlapped(IOCompletionCallback, Object, Object) |
비동기 I/O 작업이 완료되면 호출되는 대리자, 컨텍스트를 제공하는 사용자 제공 개체, 버퍼로 사용되는 관리되지 않는 개체를 지정하여 NativeOverlapped 구조체에 대한 관리되지 않는 포인터를 반환합니다. |
AllocateNativeOverlapped(PreAllocatedOverlapped)
중요
이 API는 CLS 규격이 아닙니다.
지정한 PreAllocatedOverlapped 개체와 연결된 콜백 상태 및 버퍼를 사용하여 NativeOverlapped 구조체에 대한 관리되지 않는 포인터를 반환합니다.
public:
System::Threading::NativeOverlapped* AllocateNativeOverlapped(System::Threading::PreAllocatedOverlapped ^ preAllocated);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated);
[<System.CLSCompliant(false)>]
member this.AllocateNativeOverlapped : System.Threading.PreAllocatedOverlapped -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
member this.AllocateNativeOverlapped : System.Threading.PreAllocatedOverlapped -> nativeptr<System.Threading.NativeOverlapped>
매개 변수
- preAllocated
- PreAllocatedOverlapped
NativeOverlapped 포인터를 생성하는 개체입니다.
반환
NativeOverlapped 구조체에 대한 관리되지 않는 포인터입니다.
- 특성
예외
preAllocated
이(가) null
인 경우
preAllocated
는 다른 I/O 작업에 대해 현재 사용 중입니다.
이 메서드는 ThreadPoolBoundHandle이 삭제된 후 호출되었습니다.
또는
이 메서드는 preAllocated
가 삭제된 후 호출되었습니다.
설명
이 메서드에서 반환된 관리되지 않는 포인터는 겹치는 I/O 작업에서 운영 체제에 전달할 수 있습니다. 구조는 NativeOverlapped 메서드가 호출될 때까지 실제 메모리에서 FreeNativeOverlapped 고정됩니다.
추가 정보
적용 대상
AllocateNativeOverlapped(IOCompletionCallback, Object, Object)
중요
이 API는 CLS 규격이 아닙니다.
비동기 I/O 작업이 완료되면 호출되는 대리자, 컨텍스트를 제공하는 사용자 제공 개체, 버퍼로 사용되는 관리되지 않는 개체를 지정하여 NativeOverlapped 구조체에 대한 관리되지 않는 포인터를 반환합니다.
public:
System::Threading::NativeOverlapped* AllocateNativeOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData);
[<System.CLSCompliant(false)>]
member this.AllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
member this.AllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -> nativeptr<System.Threading.NativeOverlapped>
매개 변수
- callback
- IOCompletionCallback
비동기 I/O 작업이 완료될 때 호출할 콜백 메서드를 나타내는 대리자입니다.
- state
- Object
이 NativeOverlapped 인스턴스를 다른 NativeOverlapped 인스턴스와 구별하는 사용자 제공 개체입니다.
- pinData
- Object
작업에 대한 입력 또는 출력 버퍼를 나타내는 개체의 배열 또는 개체입니다. 또는 null
입니다. 각 개체는 바이트 배열과 같은 버퍼를 나타냅니다.
반환
NativeOverlapped 구조체에 대한 관리되지 않는 포인터입니다.
- 특성
예외
callback
이(가) null
인 경우
이 메서드는 ThreadPoolBoundHandle 개체가 삭제된 후 호출되었습니다.
설명
이 메서드에서 반환된 관리되지 않는 포인터는 겹치는 I/O 작업에서 운영 체제에 전달할 수 있습니다. 구조체는 NativeOverlapped 호출될 때까지 ThreadPoolBoundHandle.FreeNativeOverlapped 실제 메모리에서 고정됩니다.
참고
지정된 pinData
버퍼는 I/O 작업 기간 동안 고정됩니다.
지정된 pinData
버퍼 또는 버퍼는 비동기 I/O를 수행하는 관리되지 않는 운영 체제 함수에 전달된 버퍼와 동일해야 합니다.