为了翻译Windows Vista线程池API以在我的delphi应用程序中使用。我需要知道_TP_POOL的定义。我查看了winnt.h,发现以下typedef声明:

typedef struct _TP_POOL TP_POOL, *PTP_POOL;

我在本地头文件中找不到_TP_POOL。它在哪个位置?

最佳答案

PTP_POOL是不透明的指针。您永远不会知道或确实需要知道该指针所指的是什么。当您调用PTP_POOL时,线程池API会提供CreateThreadpool值。然后,您将这些不透明的指针值传递回您调用的其他线程池API函数。线程池API实现知道指针所指的是什么,但是您根本不需要。

在Delphi中,我将这样声明:

type
  PTP_POOL = type Pointer;

我将其声明为独特的类型,以便编译器将确保您不会将指向其他类型的指针分配给PTP_POOL类型的变量。

10-07 13:26
查看更多