다음을 통해 공유


ThreadPoolBoundHandle.AllocateNativeOverlapped 메서드

정의

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*

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*

NativeOverlapped 구조체에 대한 관리되지 않는 포인터입니다.

특성

예외

callback이(가) null인 경우

이 메서드는 ThreadPoolBoundHandle 개체가 삭제된 후 호출되었습니다.

설명

이 메서드에서 반환된 관리되지 않는 포인터는 겹치는 I/O 작업에서 운영 체제에 전달할 수 있습니다. 구조체는 NativeOverlapped 호출될 때까지 ThreadPoolBoundHandle.FreeNativeOverlapped 실제 메모리에서 고정됩니다.

참고

지정된 pinData 버퍼는 I/O 작업 기간 동안 고정됩니다.

지정된 pinData 버퍼 또는 버퍼는 비동기 I/O를 수행하는 관리되지 않는 운영 체제 함수에 전달된 버퍼와 동일해야 합니다.

적용 대상